我当前使用 emacs 的模式导致我打开了几个 shell 模式缓冲区,每个缓冲区都运行一个 ssh 会话。不过,我遇到了一个问题——当我尝试在远程会话中使用制表符完成文件名和其他内容时,shell 会尝试使用本地机器上可用的完成,而不是远程机器上可用的完成。
例如,如果文件~/foobar
存在于本地机器上并且~/frob
存在于远程机器上,则键入~/f
并按 Tab 会导致~/foobar
无法正确完成。如果我在 emacs 之外使用 ssh 并尝试同样的事情,我会得到正确的完成~/frob
。
如何获得 tab-completion 以完成它在正常 ssh 会话中的方式?
稍后注意:M-x cd RET /ssh:host.example.com:/path/to/me似乎也推动它能够优雅地处理选项卡完成。