开发者

Can I get GNU Emacs to TAB complete filenames after using ssh in the *shell* buffer?

开发者 https://www.devze.com 2023-01-19 05:11 出处:网络
I am using GNU Emacs 23.1.50.1 (i486-pc-linux-gnu). What I want is conceptually simple, [TAB] indicates that I press the

I am using GNU Emacs 23.1.50.1 (i486-pc-linux-gnu).

What I want is conceptually simple, [TAB] indicates that I press the TAB key.

M-x shell

erik@furby:~$ ls

bin Desktop Documents Dropbox R.tools

erik@furby:~$ cd Dro开发者_如何学Gop[TAB]

and tab completion works fine (i.e., Dropbox is completed)

However, as soon as I ssh, this no longer works.

ssh erik@remote.edu

Terminal = dumb

erik@remote:~> ls

bin private

erik@remote:~> cd priv[TAB]

and the minibuffer displays "No completions of priv"

I've found others with the same problems, but could not discern the solution.

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

Emacs remote shell


OK, after I posted the question, I stumbled on dirtrack-mode , which appears to have a solution, although not entirely trivial. It uses dirtrack-mode, and the author says:

"It took me a long time to figure out how to get tab-completion working in shell-mode when I was ssh’d into another computer."

It's been annoying me for years; I'm glad I'm not the only one!


This answer to a duplicate worked for me:

  1. C-x C-f /user@host:~ (open a directory on the remote server in dired mode)
  2. M-x shell in the dired buffer


It works with eshell if you instead of doing ssh user@host you do cd /ssh:user@host: however it doesn't seem to work with shell.

0

精彩评论

暂无评论...
验证码 换一张
取 消