.emacs 配置
?
?? ?这两天整emacs,做了些配置,尚未完善,先贴出来,到其他地方先用着。。。嗯,部分可用吧。。。
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Barton's .emacs start
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; load plugin
?
(add-to-list ' load-path "~/.emacs.d/")
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
?
;;允许使用C-z作为命令前缀
(define-prefix-command 'ctl-z-map)
(global-set-key (kbd "C-z") 'ctl-z-map)
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Edit this file quickly
?
;; 快速打开这个文件
;用C-c C-e 快速打开~/.emacs文件。
(defun open-init-file ( )
??(interactive)
??(find-file "~/.emacs"))
?
(global-set-key "\C-z\C-e" 'open-init-file)
?
;; 马上生效
;; 光标处前一句: C-x C-e
;; 整个Buffer:M-x eval-buffer<Enter>
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; GUI Config
?
;; 去掉 菜单栏
;(menu-bar-mode nil)
?
;; 去掉 工具栏
(tool-bar-mode nil)
?
;; 启动tab页(ctab插件)
(require 'ctab)
(ctab-mode t)
;;; 如果需要让.h文件和.c/.cpp文件排在一起,则增加下面一行:
(setq ctab-smart t)
;; 绑定到C-<Tab>
(global-set-key (kbd "<C-tab>") 'ctab-next)
(global-set-key (kbd "<C-M-tab>") 'ctab-previous)
?
;; 去掉 滚动条
(scroll-bar-mode nil)
?
;; 显示 行列号
(column-number-mode t)
?
;; 显示 行号(line-num.el)
(global-linum-mode 1)
?
;; 显示 列号
(setq mouse-yank-at-point t)
?
;; 显示 括号匹配
(show-paren-mode t)
?
;;以 y/n 替代 yes/no
(fset 'yes-or-no-p 'y-or-n-p)
?
;; 字体
(set-frame-font "微软雅黑-13")
?
;; emacs-color-theme plugin
(require 'color-theme)
(color-theme-initialize)
(color-theme-robin-hood)
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Base Config
?
;; 不 生成 临时文件
(setq-default make-backup-files nil)
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 时间 设置
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
?
;;启用时间显示设置,在minibuffer上面的那个杠上(忘了叫什么来着)
(display-time-mode 1)
;;时间使用24小时制
(setq display-time-24hr-format t)
;;时间显示包括日期和具体时间
(setq display-time-day-and-date t)
;;显示时间,格式如下
(display-time-mode 1)
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 编辑
?
;;系统剪贴板快捷键(C-c C-c复制,C-c C-v粘贴)
(global-set-key "\C-c\C-c" 'clipboard-kill-ring-save)
(global-set-key "\C-c\C-v" 'clipboard-yank)
?
;; Redo
(global-set-key ( kbd "C-.") 'redo)
?
;;C-Space被输入法占用,改用C-c m来标记文本块
(global-set-key "\C-cm" 'set-mark-command)
?
;;启用ibuffer支持,增强*buffer*
(global-set-key (kbd "C-x C-b") 'ibuffer)
?
;; 设置背景颜色和字体颜色
;;(set-foreground-color "white")
;;(set-background-color "black")
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Base Config
?
;; 不 生成 临时文件
(setq-default make-backup-files nil)
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 时间 设置
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
?
;;启用时间显示设置,在minibuffer上面的那个杠上(忘了叫什么来着)
(display-time-mode 1)
;;时间使用24小时制
;;(setq display-time-24hr-format t)
;;时间显示包括日期和具体时间
(setq display-time-day-and-date t)
;;显示时间,格式如下
(display-time-mode 1)
;;(setq display-time-24hr-format t)
(setq display-time-day-and-date t)
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 编辑
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
?
;;系统剪贴板快捷键(C-c C-c复制,C-c C-v粘贴)
(global-set-key "\C-c\C-c" 'clipboard-kill-ring-save)
(global-set-key "\C-c\C-v" 'clipboard-yank)
?
;; Redo
(global-set-key ( kbd "C-.") 'redo)
?
;;C-Space被输入法占用,改用C-c m来标记文本块
(global-set-key "\C-cm" 'set-mark-command)
?
;;启用ibuffer支持,增强*buffer*
(global-set-key (kbd "C-x C-b") 'ibuffer)
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Buffer
?
;;关闭当前缓冲区 Alt+4 ?;; C-x 0
(global-set-key (kbd "M-4") 'delete-window)
;;关闭其它缓冲区 Alt+1 ?;; C-x 1
(global-set-key (kbd "M-1") 'delete-other-windows)
;;水平分割缓冲区 Alt+2 ?;; C-x 2
(global-set-key (kbd "M-2") 'split-window-vertically)
;;垂直分割缓冲区 Alt+3 ?;; C-x 3
(global-set-key (kbd "M-3") 'split-window-horizontally)
;;切换到其它缓冲区 Alt+0 ;; C-x o?
(global-set-key (kbd "M-0") 'other-window)
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 代码 折叠
(add-hook 'c-mode-common-hook 'hs-minor-mode)
(add-hook 'emacs-lisp-mode-hook 'hs-minor-mode)
(add-hook 'java-mode-hook 'hs-minor-mode)
(add-hook 'ess-mode-hook 'hs-minor-mode)
(add-hook 'python-mode-hook 'hs-minor-mode)
(add-hook 'sh-mode-hook 'hs-minor-mode)
?
;; 折叠块
(global-set-key (kbd "C-z C-x") 'hs-hide-all)
(global-set-key (kbd "C-z C-a") 'hs-show-all)
(global-set-key (kbd "C-z C-z") 'hs-toggle-hiding)
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 自动补全(auto-complete插件)
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)
?
;; yasnippet
(add-to-list 'load-path "/usr/share/emacs/site-lisp/yas")
(require 'yasnippet) ;; not yasnippet-bundle
(yas/initialize)
(yas/load-directory "/usr/share/emacs/site-lisp/yas/snippets")
?
;;==============================================================
;; Python START
;;==============================================================
?
;; pymacs
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)
(eval-after-load "pymacs" ?'(add-to-list 'pymacs-load-path "/usr/lib/python3.2/site-packages/Pymacs/"))
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; pycomplete start
?
;; python-mode settings
(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist(cons '("python" . python-mode)
?? ? ? ? ? ? ? ? ? ? ? ? ? ? interpreter-mode-alist))
?
;; path to the python interpreter, e.g.: ~rw/python31/bin/python3
(setq py-python-command "python3")
(autoload 'python-mode "python-mode" "Python editing mode." t)
?
;; pymacs settings
(setq pymacs-python-command py-python-command)
(autoload 'pymacs-load "pymacs" nil t)
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
?
(require 'pycomplete)
;; pycomplete end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
?
;; ropemacs ?now, the plugin not support python3.2
;(require 'pymacs)
;(pymacs-load "ropemacs" "rope-")
;(pymacs-load '"ropemacs")
;(pymacs-load "rope")
?
;;==============================================================
;; Python END
;;==============================================================
?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Barton's .emacs end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;