如何在root文件上使用emacsclient,使用sudo和单个守护进程

cnd*_*cnd 13 permissions emacs emacsclient

我总是将emacs作为守护进程运行,但是当我想要做出类似的东西时

sudo emacsclient /etc/make.conf
Run Code Online (Sandbox Code Playgroud)

我不能这样做,因为root正在使用另一个emacs,我真的不想运行2个守护进程或等待通常的emacs加载简单文件.

我需要一些解决方案emacsclientsudo /etc/make.conf:)用用户emacs客户端编辑系统文件.

eve*_*_jr 20

添加到您的~/.profile:

alias E="SUDO_EDITOR=\"emacsclient\" sudo -e"
Run Code Online (Sandbox Code Playgroud)

然后

E /etc/hosts
Run Code Online (Sandbox Code Playgroud)

您应该可以使用sudoedit而不是sudo -e,但我在Mac上找不到前者.

  • 整齐.我想你可以在init脚本中设置SUDO_EDITOR,直接在你想要的任何文件上调用`sudo -e`或`sudoedit`. (2认同)

Nou*_*him 6

我不直接确定它,但这是一个技巧

emacsclient -e '(find-file "/sudo::/etc/passwd")'
Run Code Online (Sandbox Code Playgroud)

使用tramp和sudo方法以/etc/passwdroot 身份打开.

您可以使用别名并直接在shell中使用它.