我目前使用的emacs模式导致我有几个
shell模式缓冲区打开,每个都运行一个ssh会话.尽管如此,当我尝试在远程会话中选择完成文件名和其他内容时,我遇到了一个问题,但是shell尝试使用本地机器上可用的完成,而不是在远程机器上.
例如,如果文件/ foobar存在于本地机器上,并且/ / frob存在于远程机器上,则输入/ f并按Tab键会导致/ foobar而不是正确完成.如果我在emacs之外使用ssh并尝试相同的东西,那么我会正确的完成/ frob.
如何在标准的ssh会话中完成其完成方式?
后来的笔记:M-x cd RET /ssh:host.example.com:/path/to/me也似乎推动它能够优雅地处理标签完成.
解决方法
当ssh-ing到其他机器时,emacs无法跟踪当前目录(default-direcotry).
您可以手动将当前shell缓冲区的默认目录设置为tramp文件名,如/ ssh:YOURHOST:/ home / dir“.
我主要通过tramp-bookmarks / shell在远程机器上启动shell会话. Tramp集的默认目录自动.
但是在远程文件的远程跟踪中存在一个错误,这在远程文件中是固定的(未发布).
http://comments.gmane.org/gmane.emacs.bugs/39082