2012-10-01 214 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