在Emacs中使用su / sudo打开文件


174

假设我想使用su或在现有Emacs会话中打开文件sudo,而无需下拉至shell并执行sudoeditsudo emacs。一种方法是

C-x C-f /sudo::/path/to/file

但这需要通过SSH进行昂贵的往返。有没有更直接的方法?

[编辑] @JBB是正确的。我希望能够调用su/ sudo保存以及打开。保存时重新授权是可以的(但不理想)。我正在寻找的是变化find-file,并save-buffer认为可以通过“管道” su/ sudo


5
我只想指出,自emacs22以来,tramp是默认安装的,所以大多数人都可以毫无问题地执行Cc Cf / sudo :: / path-to / file。
迷宫2012年

1
感谢您的sudoedit提及。很有用。
tshepang

6
Cc Cf应该是Cx Cf?
James.Xu

Answers:


64

Tramp的好处是,打开第一个文件时,您只需为往返SSH付费。然后,Sudo会缓存您的凭据,而Emacs将保存一个句柄,以便随后的sudo打开的文件花费的时间要少得多。

我也没有发现节省负担的额外时间。IMO,速度足够快。


3
等一下...缓存多久过期一次?
克里斯·康威,

20
流浪汉确实通过SSH往返,它使用了一个子shell
泰迪

我的意思是,您实际上要为第一个打开的文件支付费用,而不是为其他任何文件支付费用。
EfForEffort 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.