Emacs是Linux下常用的文本编辑器之一,但是远程文件管理往往是emacser比较头疼的问题。离开了自己的.emacs的程序员就仿佛看到了另外一个编辑器,更重要的是,你的终端——putty、secureCTR甚至gnome-terminal会吃掉大量的快捷键,这些也就让远程文件管理成为很多emacser的噩梦。另一方面,vim身材娇小,与系统紧密结合,少有特殊的键盘绑定,这让无数emacser未知愤恨和无奈。

不过,emacs毕竟是一个牛叉的“操作系统”,我理解为emacs=shell+vim(vimer请淡定,just a joke…)。所以,凡是shell里头能搞定的,emacs就能搞定。好了,祭出今天的主角——TRAMP。

文件管理

其实TRAMP已经在你的emacs里头潜伏很久了,从22开始,它就集成在emacs中了。方法很简单,C-c C-F, 然后按照下面的图输入:

格式是:/protocol:user@host:path。protocol可以是ssh和ftp。过程中需要输入密码~

然后你会看到这个:

这个时候,基本的文件管理是没有问题了,添加删除改名移动都没问题,emacser,你懂的!如果不懂,press h for help.

Shell

如果你非要一个shell,那就M-x shell吧。额,功能没有问题,不过提示符是丑陋了点….不过multi-term不好使,eshell我没试过…当打开远程目录的时候,emacs的环境已经是远程的主机了,所以shell也是在那里的。

Coding

本地的emacs,远程的文件,所以yasnippet能用,cedet也好使。靠,还有什么能比这两个家伙正常工作更爽的了?感觉很顺畅,至少不用把自己的一大堆.emacs和.emcs.d/往服务器上捣了,至少不用找人少的时候在服务器上偷偷编译新版本的emacs了。上图:

本地sudo

这也是一直纠结我的问题,相信不少emacser也纠结过。如果你需要root权限来修改一个文件,你可以sudo vim fileName. 不过,把这种方式套用到emacs上来就有点令人恶心了,emacs启动速度确实不能跟vim比。那怎么办呢?请参看文章最开始,user是root,host是localhost。还有什么好说的?emacser,你懂的!

最近一直和emacs做伴,直接导致培训后的考试里头关于vim的题基本不会….悲剧啊…

p.s. 原文地址:http://chunyemen.org/archives/439,欢迎访问纯爷们的小生活