[英]Tab Completion In Emacs shell-mode SSH Sessions
我当前使用的emacs模式导致我打开了几个外壳模式缓冲区,每个缓冲区运行一个ssh会话。 但是,我遇到了一个问题-当我尝试在远程会话中使用Tab键完成文件名和其他内容时,shell尝试使用本地计算机而不是远程计算机上可用的完成功能。
例如,如果本地计算机上存在~/foobar
文件,而远程计算机上存在~/frob
,则键入~/f
并按tab将导致~/foobar
而不是正确完成。 如果我在emacs之外使用ssh并尝试相同的操作, ~/frob
获得~/frob
的正确完成。
在普通的ssh会话中,如何获得制表符完成功能?
以后注意: Mx cd RET /ssh:host.example.com:/path/to/me似乎也推动它能够优雅地处理制表符补全 。
将ssh-ing到其他计算机时,Emacs无法跟踪当前目录(默认目录)。
您可以在当前的shell缓冲区中手动将default-directory设置为流氓文件名,例如/ ssh:YOURHOST:/ home / dir 。
我主要通过流浪汉书签/ shell在远程计算机上启动shell会话。 Tramp会自动设置默认目录 。 但是在远程文件上的目录跟踪中存在一个错误,该错误已在主干(未发布)中修复。
而不是运行Mx Shell并在远程计算机上运行ssh,而是访问远程计算机上的目录(使用Tramp),然后在该Dired缓冲区中运行Mx Shell。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.