在emacs中,<p> $variable </p>
命令提供了一种在本地文件系统上运行unix的locate
和打开文件的方法。
我正在使用TRAMP访问远程文件 - 是否可以使用emacs'locate
来查找和打开远程文件?
答案 0 :(得分:0)
可能,这是不可能的。 locate
使用call-process
,它不会运行远程进程。
答案 1 :(得分:0)
我不知道您是否可以将Emacs的locate
功能与TRAMP本身一起使用,但您可以远程连接到主机并通过{在该系统上运行locate
{1}}或M-x shell
。我有一些包装函数可以使这项任务更容易(虽然我主要得到它们from elsewhere):
M-x eshell
在远程主机上找到所需文件后,您可以使用(defun remote-eshell (host)
(interactive "sHost: ")
(let ((default-directory (concat "/ssh:" (format "%s:" host))))
(eshell host)))
(defun remote-shell (host)
(interactive "sHost: ")
(let ((default-directory (concat "/ssh:" (format "%s:" host))))
(shell)))
此外,如果你通过TRAMP连接到远程主机,你应该确保所述主机没有发送任何奇怪的提示,因为TRAMP没有处理好这些。详细了解here。