很早之前就听说过emacs和vim,前段时间用了4、5个月的vim,感觉确实名不虚传啊,方便又快速。最近想起来另一个神器Emacs,于是就去学习一下,毕竟体验过才能有自己的评价。
自己在安装emacs23.3的时候,遇到一个问题:emacs: Cannot open termcap database file,查资料发现是因为没装ncurses,在ubuntu下输入sudo apt-get install libncurses5-dev安装,然后make distclean清空一下再重装就可以了。
一 基本操作
emacs不像vim一样需要切换不同的模式,所以它有大量的快捷键来进行编辑文本以外的操作。文中使用emacs文档中的风格,用C-代替按住Ctrl键,M-代替按住Alt键。
C-f 下一个字符,C-b 前一个字符,C-n 下一行,C-p 前一行,C-a 到行首,C-e 到行尾,M-f 下一个单词,M-b 前一个单词,M-a 到句首,M-e 到句尾,M-< 到文章开头,M-> 到文章结尾。
重复执行某命令,例如执行C-n5次:C-u 5 C-n,或者M-5 C-n
删除从光标位置到行尾字符:C-k, 删除从光标位置到段尾:M-k
剪切某一段连续字符:在连续字符开始处C-@,在结尾处C-w
粘贴:C-y。 M-y:依次粘贴前几次剪切的内容
撤销:C-x u或者C-_,不能撤销未改变文本的操作
向下翻页:C-v, 向上翻页:M-v
二 文件、缓冲区
C-x C-f ,然后输入文件名,查找文件,若文件不存在则新建文件
C-x C-s 保存文件,若打开时为指定文件名,则默认使用~
C-x s 检测是否有未保存的文件
以打开的文件会存放在buffer中,C-x C-b显示buffer相关信息,C-x b在buffer 间切换,C-x k关闭当前缓冲区。
三 窗口
C-x 2水平平分当前窗口,C-x 3垂直平分当前窗口,C-x 1关闭其他窗口,只显示光标所在窗口;C-x 0 关闭当前窗口,C-x o在窗口间切换。
四 编译
M-x compile,然后输入编译的命令即可。
五 SecureCRT与emacs问题
SecureCRT下面使用emacs时,会有alt键无效的问题,解决方法之一是在SecureCRT的session option->Terminal->Emulation->Emacs中,勾选Use ALT as meta key.
(http://siliangdu.tk/2011/12/116)