2012-10-01 158 views
4

这里编辑根目录的文件是在非root身份运行的Emacs打开根文件的方式:Emacs的:没有流浪汉

erf() { SUDO_EDITOR="emacsclient -n -a emacs" sudoedit [email protected]; } ;; erf = Emacs Root Foreground 

它要求一个root密码,一旦你进入它,它会打开文件的副本在/tmp。例如:

$ cd /etc/apt 
$ erf sources.list 

打开:sourcesXXiOSmYN.list。所以,我编辑的东西,并与C-x C-s保存它 - 但它不保存:

$ sudoedit: sources.list unchanged 

我怎么把它存的东西吗? (该功能会非常整齐)

编辑

erf() { SUDO_EDITOR="emacsclient -a emacs" sudoedit [email protected]; } ;; erf = Emacs Root Foreground 

sovles它。保存一个文件,并杀死缓冲区或C-x #。有用。

+1

脱掉'n' – thisirs

+0

@thisirs:使它成为一个ansewer,所以我可以接受它。 – Adobe

回答

5

删除-n选项。 FWIW我使用,

alias E="SUDO_EDITOR=\"emacsclient -c -a emacs\" sudoedit" 

采取地方...

0

我不使用emacs,但有什么错

export EDITOR=emacs 
# or export VISUAL=emacs 
sudoedit some-root-file 

?把输出行放在你的.bashrc中,你就完成了。

+0

我刚试过用'export EDITOR = emacsclient'(你需要'emacsclient'而不是'emacs'来打开运行的emacs中的文件)。它似乎工作。 – Adobe