使用emacs作为编辑环境

        众所周知,在linux下做开发离不开两个常用的编辑器---vi和emacs。vi我用的不多,不好做评价。emacs功能非常强大,扩展能力强。网上有很多插件,可以丰富你的emacs功能。开始使用emacs会觉得很难用,呵呵,一般nb的东西都是这样。。。。如果你上手了,那么你就会体验到它强大的功能了。下面就来讲讲emacs环境的配置。

        配置emacs主要就是安装插件,我在参考了网上一些优秀的文章,选择了以下几个插件。

         1、cedet,它是Collection of Emacs Development Environment Tools的缩写,最有用的就是semantic。按照INSTALL文件中的内容,编译并安装cedet。然后把INSTALL中这段内容

  1. ;; Load CEDET
  2. (load-file "~/cedet-VERSION/common/cedet.el")
  3. ;; Enabling various SEMANTIC minor modes.  See semantic/INSTALL for more ideas.
  4. ;; Select one of the following:
  5. ;; * This enables the database and idle reparse engines
  6. ;;(semantic-load-enable-minimum-features)
  7. ;; * This enables some tools useful for coding, such as summary mode
  8. ;;   imenu support, and the semantic navigator
  9. (semantic-load-enable-code-helpers)
  10. ;; * This enables even more coding tools such as the nascent intellisense mode
  11. ;;   decoration mode, and stickyfunc mode (plus regular code helpers)
  12. ;; (semantic-load-enable-guady-code-helpers)
  13. ;; * This turns on which-func support (Plus all other code helpers)
  14. ;; (semantic-load-enable-excessive-code-helpers)
  15. ;; This turns on modes that aid in grammar writing and semantic tool
  16. ;; development.  It does not enable any other features such as code
  17. ;; helpers above.
  18. ;; (semantic-load-enable-semantic-debugging-helpers)

加入到在.emacs(emacs配置文件)中。默认选择的是(semantic-load-enable-code-helpers),你也可以选择(semantic-load-enable-guady-code-helpers)和 (semantic-load-enable-excessive-code-helpers),但只能选择一个。

         2、ecb,它是 Emacs Code Browser 的缩写,这个插件的功能从其名字上就是能知道它的意思-----代码浏览器,不错,它可以把emacs划分成几个窗口,每个窗口都显示不同的内容。如图

要使用它的前提是必须安装Semantic,Eieio,speedbar。其实这3个已经在cedet中了,所以你安装了cedet的话就不必安装这3个插件了。同样,根据README中内容对ecb进行编译安装。并在.emacs中加入下面的内容:

  1. ;;;;load ecb
  2. (add-to-list 'load-path "/root/emacs/ecb-2.32")
  3. ;;(require 'ecb)
  4. (require 'ecb-autoloads)

并且加入

  1. (global-set-key [f12] 'ecb-activate) ;;
  2. (global-set-key [C-f12] 'ecb-deactivate)  

 

通过快捷键F12就可以激活ecb了,ctrl+F12可以让关闭ecb。在ecb-layout-defs.el文件中,定了了layout的类型。

 

3、cscope:这个插件可以使emacs实现类似source insight那种符号查找等功能。进行编译安装,在.emacs中加入

  1. (add-to-list 'load-path "/root/emacs/cscope-15.6/contrib/xcscope")
  2. (require 'xcscope)

 

4、doxymacs:这个插件可以生成各种注释,比如函数注释,文件头说明,多行注释等等。同样进行编译安装,然后在.emacs中加入

  1. ;;doxymacs
  2. (add-to-list 'load-path "/root/emacs/doxymacs-1.8.0/lisp")
  3. (require 'doxymacs) 

5、session:这个插件可以保存最近访问和修改的文件列表。编译安装然后在.emacs中加入

  1. (add-to-list 'load-path "/root/emacs/session")
  2. (require 'session)
  3. (add-hook 'after-init-hook 'session-initialize)
ok,插件安装好了,但是还需要配置emacs本身一些功能,例如设置代码排版的方式:

 

  1. (add-hook 'c-mode-common-hook ( lambda() ( c-set-style "k&r" ) ) ) 
  2. (add-hook 'c++-mode-common-hook ( lambda() ( c-set-style "k&r" ) ) ) 

防止乱码并设置字体

  1.  (set-language-environment 'Chinese-GB)
  2.  (set-keyboard-coding-system 'utf-8)
  3.  (set-clipboard-coding-system 'utf-8)
  4.  (set-terminal-coding-system 'utf-8)
  5.  (set-buffer-file-coding-system 'utf-8)
  6.  (set-default-coding-systems 'utf-8)
  7.  (set-selection-coding-system 'utf-8)
  8.  (modify-coding-system-alist 'process "*" 'utf-8)
  9.  (setq default-process-coding-system '(utf-8 . utf-8))
  10.  (setq-default pathname-coding-system 'utf-8)
  11.  (set-file-name-coding-system 'utf-8)
  12.  ;(setq ansi-color-for-comint-mode t) ;;处理shell-mode乱码,好像没作用
  13.  (create-fontset-from-fontset-spec 
  14.  "-*-courier-medium-r-normal-*-14-*-*-*-*-*-fontset-courier"
  15.  (set-default-font "fontset-courier"
  16.  (setq default-frame-alist 
  17.  (append 
  18.  '((font . "fontset-courier")) default-frame-alist))

设置一些快捷键:

  1. (global-set-key [(f4)] 'speedbar-get-focus)
  2. (global-set-key [(f5)] 'compile)
  3. (global-set-key [(f6)] 'gdb)
  4. (global-set-key [(f7)] 'gdb-many-windows)
  5. (global-set-key [f1] 'semantic-ia-complete-symbol-menu)

其中,我设置了F1为符号自动补齐的功能,该功能来自semantic,不过有的时候会出现补全的内容是错误的。F5为编译,F6进入gdb模式,F7进入gdb多窗口模式。这里首先要进入gdb中,然后按F7才能调出窗口,效果图如下:

 

 

 

还有很多功能,有兴趣的大家慢慢探索。不过我觉得这些功能已经可以满足基本的需求了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值