添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
潇洒的电梯  ·  IIS ...·  1 年前    · 
犯傻的葡萄  ·  CVPR2023: ...·  1 年前    · 
玩手机的楼梯  ·  [IntelliJ IDEA + ...·  2 年前    · 

Emacs shell模式的SSH会话中的Tab键完成

13 人关注

我目前使用emacs的模式导致我打开了几个shell模式的缓冲区,每个缓冲区都在运行一个ssh会话。 不过,我遇到了一个问题--当我试图在远程会话中用tab键完成文件名和其他事情时,shell试图使用本地机器上的完成方式,而不是远程机器上的。

例如,如果文件 ~/foobar 存在于本地机器上,而 ~/frob 存在于远程机器上,输入 ~/f 并按下Tab键,结果是 ~/foobar 而不是正确的完成。 如果我在emacs之外使用ssh,并尝试同样的事情,我得到的是正确的 ~/frob 的完成。

我怎样才能让标签完成的方式在正常的ssh会话中完成?

后记。 M-x cd RET /ssh:host.example.com:/path/to/me 也似乎促使它能够优雅地处理标签完成的问题。

1 个评论
linux
bash
emacs
ssh
tab-completion
Brighid McDonnell
Brighid McDonnell
发布于 2011-01-14
2 个回答
dav
dav
发布于 2011-01-14
已采纳
0 人赞同

与其运行M-x shell和运行ssh到远程计算机,不如访问远程计算机上的一个目录(使用Tramp),然后在该Dired buffer中运行M-x shell。

下次遇到这种情况时,我一定会尝试这样做。
Jürgen Hötzel
Jürgen Hötzel
发布于 2011-01-14
0 人赞同

当ssh-ing到其他机器时,Emacs不能跟踪当前目录(默认目录)。

You could set 默认目录 的文件名,如 /ssh:YOURHOST:/home/dir" 在你当前的shell-buffer上手动操作。