我当前的 emacs 使用模式导致我打开了多个 shell 模式缓冲区,每个缓冲区都运行一个 ssh 会话。不过,我遇到了一个问题 - 当我尝试在远程会话中使用制表符补全文件名和其他内容时,shell 尝试使用本地计算机上可用的补全,而不是远程计算机上的补全。
例如,如果文件~/foobar
存在于本地机器上并且~/frob
存在于远程计算机上,输入~/f
按 Tab 键会导致~/foobar
而不是正确完成。如果我在 emacs 之外使用 ssh 并尝试同样的操作,我会得到正确的完成结果~/frob
反而。
如何才能像正常 ssh 会话中那样完成制表符补全?
Later note: M-x cd RET /ssh:host.example.com:/path/to/me also seems to nudge it into being able to gracefully deal with tab completion.
不要运行 M-x shell 并运行 ssh 到远程计算机,而是访问远程计算机上的目录(使用 Tramp),然后在该 Dired 缓冲区中运行 M-x shell。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)