Emacs作为编程工具的一些小技巧

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图片:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值