.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

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


你可能感兴趣的:(C++,c,python,C#,emacs)