2016-07-26 96 views
1

在emacs中,locate命令提供了一種運行unix的locate並在本地文件系統上打開文件的方法。找到並打開遠程文件

我使用TRAMP訪問遠程文件 - 是否可以使用emacs'locate來查找和打開遠程文件?

回答

0

可能,這是不可能的。 locate使用call-process,它不運行遠程進程。

0

我不知道你是否可以使用Emacs的locate功能與流浪漢本身,但你可以在該系統上通過M-x shellM-x eshell遠程連接到一臺主機和運行locate。我有一些包裝函數使這個任務更容易(雖然我主要是讓他們fromelsewhere):

(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))) 

定位在遠程主機上所需文件後,你就可以通過流浪漢使用打開它們C-x C-f /ssh:remotehost

另外,如果您通過TRAMP連接到遠程主機,則應確保所述主機不發送任何奇怪的提示,因爲TRAMP不能很好地處理這些提示。查看更多關於here的信息。