在* shell *缓冲区中使用ssh后,我可以将GNU Emacs转换为TAB完整文件名吗?

时间:2010-10-10 16:05:28

标签: shell emacs ssh

我正在使用GNU Emacs 23.1.50.1(i486-pc-linux-gnu)。

我想要的是概念上简单,[TAB]表示我按下了 TAB键。

M-x shell

@ furby:〜$ ls
bin桌面文档Dropbox R.tools

erik @ furby:〜$ cd Drop [TAB]

并且标签完成工作正常(即Dropbox已完成)

然而,一旦我ssh,这就不再有用了。

ssh erik@remote.edu
终端=哑巴 埃里克@远程:〜> LS
bin private

埃里克@远程:〜> cd priv [TAB]

并显示迷你缓冲区 “没有完成私人”

我发现其他人有同样的问题,但是 无法辨别解决方案。

http://www.linuxforums.org/forum/red-hat-fedora-linux/56103-tab-completion-problem-ssh-shell-through-emacs.html

Emacs remote shell

3 个答案:

答案 0 :(得分:3)

好的,在我发布问题之后,我偶然发现dirtrack-mode,这似乎有一个解决方案,虽然不是完全无关紧要的。它使用dirtrack模式,作者说:

“当我进入另一台计算机时,我花了很长时间才弄清楚如何在shell模式下完成制表工作。”

多年来一直困扰着我;我很高兴我不是唯一一个人!

答案 1 :(得分:0)

This answer to a duplicate为我工作:

  1. C-x C-f /user@host:~(以直接模式打开远程服务器上的目录)
  2. 直接缓冲区中的
  3. M-x shell

答案 2 :(得分:0)

如果您执行的eshell ssh user@host而不是cd /ssh:user@host:,则它与shell一起使用,但它似乎不适用于{{1}}。