找到并打开远程文件

时间:2016-07-26 00:10:22

标签: emacs locate tramp

在emacs中,<p> $variable </p>命令提供了一种在本地文件系统上运行unix的locate和打开文件的方法。

我正在使用TRAMP访问远程文件 - 是否可以使用emacs'locate来查找和打开远程文件?

2 个答案:

答案 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连接到远程主机,你应该确保所述主机没有发送任何奇怪的提示,因为TRAMP没有处理好这些。详细了解here