Emacs和sudo

在最常用的编辑器还是emacs,但是有的时候还是离不开vi,主要还是因为有时要编辑一些用户权限外的东西的关系。用vi的话可以使用sudo,而emacs虽然也能sudo,但我想大部分人是不愿意的,因为这样就无法享受到emacs daemon的便利而不得不在root名下专门开启一个emacs进程。

不过emacs有Tramp(Transparent Remote (file) Access, Multiple Protocol),所以可以以C-x C-f /root@localhost:<filepath>来作为root ssh到本机进行编辑。但这终究不是啥方便的办法,一是不得不使用root登录,二是在其他buffer上想再继续sudo编辑其他文件的时候还得再次输入这串连接字符串,因为ido并不会自动完成。所以一直以来,编辑/etc下的文件我还是使用vi来完成。

不过最近发现了Tramp的另外一项功能:sudo。使用C-x C-f /sudo:root@localhost来打开文件就可以了。比起上述方法最为便利的是连接字符串可以自动完成,而且使用的是sudo的方法,所以连接是使用的是当前sudoer的密码。目前用下来没有什么大问题,基本就能抛开vi了。