1. compile-mode中可以在*compilation*这个buffer中利用一系列的命令快速地对源代码中的错误进行定位,最常用的是
M-g n 定位到下一个错误的源代码相应位置
M-g p 定位到源代码的上一个错误的相应位置
在源代码编译的时候,你可以使用M-x compile来激活它,默认的编译命令是make -k,当然,如果你像我一样使用cmake,你也可以不用默认的命令,而使用诸如以下的命令来达到效果: mkdir build; cd build; cmake ..; make
或者你可以把上面的命令写成一个脚本,直接执行脚本对一个长期开发的项目来说更方便。今天还发现这个mode下编译的时候可以使cmake像make一样,不会覆盖及编译相对上一次没有修改的文件,加快编译速度,这个功能不错,这样我的小机器也顶得住了,呵呵。
2. 在项目开发中,一般会有更改记录或者说版本更新记录,开发者内部可能使用svn或git的log来交流,而对于比较重大的版本更新,有必要让用户知道的,在开源软件中则多使用ChangeLog文件。事实上,Emacs刚好有ChangeLog-mode,默认你可以使用C-x 4 a触发,会自动转到相应的ChangeLog文件,然后自动添加一个条目供你编辑,这个快捷键相对应的emacs lisp命令是add-change-log-entry
3. flymake-mode可以即时地检查语法错误,但对我来说,因为机器配置过低,顶不住,所以暂时不配置了。
4.对源代码的浏览,可以使用cscope,而cscope附带的脚本cscope-index可以很方便地建立cscope库,在最上级目录使用:
cscope-indexer -v -r
即可方便地生成,而后,在源文件中,则可以使用cscope附带的一系列命令来查看(其命令基本上都有规律可循):
c-s s g(global)
c-s s t(text)
c-s s d(definition)
诸如此类
5. 在任何buffer中,都可以使用C-h m来查看当前buffer具有的major mode及minor modes,以及其相应的快捷键及命令,这种情况对于不喜欢开Emacs GUI的人,或者嫌Emacs-GUI启动太慢的人来说还是比较方便的
6. 快速地启动emacs编辑一些小文件的方案: 也许你惊叹于vi的启动速度,但是同样地,你也可以通过emacs -nw来启动terminal下的emacs, 如果你觉得键入上面几个字母"emacs -nw"不如键入“vi"方便的话,你可以在bash中使用alias将e绑定到"emacs -nw",这样,你只需要调入一个字母即可以打开emacs了。
7. header2.el与yasnippet以及abbrev mode可以节省很多敲键的字数。 这里特别赞一下,yasnippet的作者原来是浙大的学生,真不错。
8. 代码折叠在emacs已经内置,是一个叫做hs(Hide/Show)的minor-mode,可以通过M-x hs-minor-mode来打开,不过,我通过C-h m查看其相应的快捷键,觉得太长了 :( , 所以就先用手动敲命令的方式用着先吧,等以后感觉出哪几个命令是最常用的,再来用按键绑定了
9. wiki-mode, org-mode正在学习中,心得体会以后再分享吧。
10.作为python ide则在后续再给出详细的配置过程。
11. Swap the Control and Caps Lock for protecting your pinkie
Windows register file:
========Begin=========
REGEDIT4
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,3a,00,1d,00,00,00,00,00
========End==========
在Windows的右键中添加"用Emacs打开"的选项的方法:将下面的register file存成.reg格式,然后双击
===============Add-Emacs-To-Open-Any-File.reg Begin ===================
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT/*/Shell/Open In Emacs/Command]
@="/"D://DevTools//emacs-23.2//bin//emacsclientw.exe/" -a /"D://DevTools//emacs-23.2//bin//runemacs.exe/" /"%1/""
===============Add-Emacs-To-Open-Any-File.reg End ====================
总体感觉emacs确实挺不错的,整个配置文件基本上是自解释的,而且文档与elisp的代码的关联度很好。稍加配置,则可以成为一个相当强大的工具。 只是相对来说要记好些快捷键,不过现在暂时感觉还好,因为常用的东西不多。
附上一个今天(2010-4-23)早上编译的emacs图片: