Emacs - 用于确定远程服务器名称/地址的dired-mode测试

时间:2014-06-30 00:02:59

标签: emacs elisp dired tramp

是否有测试来获取localhost12.34.56.789处于活动状态的远程服务器名称(例如current-buffer)或地址(例如dired-mode)?

我想我可以使用string-matchsplit-string然后使用equal,但我认为可能有一个方便的功能,例如获取服务器名称。

iphone - dired-directory

/ssh:root@localhost#2222:/var/mobile/Applications/F30B1574-5979-4764-8742-7F9DB2863094/Documents/.0.data:

共享服务器 - dired-directory

/ssh:lawlist@12.34.56.789:/home/lawlist/public_html:

1 个答案:

答案 0 :(得分:5)

如果您感兴趣的是它的流浪路径,那么您可能希望查看tramp-dissect-file-namewith-parsed-tramp-file-name。 e.g:

(tramp-file-name-host (tramp-dissect-file-name path))

如果要排除端口,请使用tramp-file-name-real-host

您可能需要首先检查file-remote-p,如果这还不确定;这也引导我们找到一条前所未有的捷径:

(file-remote-p path 'host)

(这里没有无端口选项,如果有的话)