在阅读了《Unix编程艺术》之后,开始尝试emacs。据说有vi派,emacs派,但是基本没有vi+emacs派,我很好奇其中原因,但是在阅读完emacs自带的教程之后(c-h t),有点明白为什么基本没有两者都用的了。不过派系的想法终归派系,重要的还是使用方法。下面讲一下我的切换体验。
如何打开emacs
不要笑,很基础的问题。ubuntu下通过sudo apt-get install emacs安装之后,直接emacs出来的是GTK的emacs。以前没留意过是否有类似vi在CLI中的模式,最近才知道输入
emacs -nw
启动emacs的话就不会打开GTK的了。赶紧alias emacs=’emacs -nw’保存起来。
退出,保存退出和退出不保存
个人现在试出来的用法:
operation | vi | emacs |
---|---|---|
exit | :q | c-x c-c |
save and exit | :wq | c-x c-c y |
exit without save | :q! | c-x c-c ! |
buffer操作
vi是通过编号切换的,emacs现在我知道的是通过名字切换的。vi使用:ls列出buffer,之后通过:bn(n为buffer编号)切换。emacs中列出buffer的方法是c-x c-b,emacs中buffer的名字一般就是你打开的文件名,你知道buffer的名字的话或者从buffer列表中看到了的话c-x b BUFFER_NAME就能切换过去,BUFFER_NAME支持自动完成,类似bash那种。
搜索文件夹中的文件
emacs中因为使用时间不久只是一个简单尝试。m-x find-name-dired,输入文件名glob,比如Foo*,在搜索结果中选择文件即可。emacs好像是使用系统的find查找文件的。另外,使用中匹配的文件会归类到文件夹,匹配结果太多的话找起来可能不是很方便。但是emacs自带这种功能,个人觉得还是挺不错的。vi中我使用的是ctrl-p。
GBK编码文件问题
解决方案是按照utf-8,gbk方式打开GBK编码,在emacs配置文件(我的是.emacs.d/init.el)中加入:
(prefer-coding-system 'chinese-gbk) (prefer-coding-system 'utf-8)
即可。注意和vi的不同,越优先的越在后。配置好之后打开UTF-8,GBK编码的文件,并用c-h C查看编码信息。顺便说一句,vi的话是增加 set fileencodings=utf8,cp936。
字符串搜索
现在只是简单使用,c-s进入搜索状态,输入子串,c-s往下搜索,c-r回退搜索。
另外,进入c-s之后不想搜索了的话,c-g就能quit,其他命令比如find-name-dired时亦有效。
CLI中的emacs隐藏菜单栏
完全不能用菜单栏,还占空间。把下面的指令加入配置文件即可:
(menu-bar-mode -1)
One response to “从vim切换到emacs小记1”
在命令行中使用emacs可能,功能上可能会减弱一些,可以试试最近很多人使用的daemon模式运行emacs.