当我想使用 TRAMP 在 Emacs 中通过 sftp 访问远程文件时,我希望 Emacs 能够根据我的 ssh 配置中的主机名提供补全。我该怎么做?
例如,如果我的 ssh 配置中有两个主机“alpha”和“bravo”,那么当我/sftp:a
在 find-file 提示符下输入时,它应该完成“alpha”。
答案1
远程访问记录在流浪汉手册。您想要的是自定义完成. 把类似这样的内容放入你的~/.emacs
:
(setq my-tramp-ssh-completions
'((tramp-parse-sconfig "~/.ssh/config")
(tramp-parse-shosts "~/.ssh/known_hosts")))
(mapc (lambda (method)
(tramp-set-completion-function method my-tramp-ssh-completions))
'("fcp" "rsync" "scp" "scpc" "scpx" "sftp" "ssh"))