2011-01-13 26 views
10

Mẫu sử dụng hiện tại của các emacs dẫn đến việc tôi có một số bộ đệm chế độ shell đang mở, mỗi phiên chạy ssh. Tuy nhiên, tôi đang gặp vấn đề với điều này - khi tôi cố gắng hoàn thành các tên tập tin và những thứ khác trong phiên làm việc từ xa của mình, trình bao sẽ cố gắng sử dụng các hoàn thành có sẵn trên máy cục bộ thay vì trên máy từ xa.Hoàn thành tab Trong các phiên SSH chế độ shell Emacs

Ví dụ: nếu tệp ~/foobar tồn tại trên máy cục bộ và ~/frob tồn tại trên máy từ xa, nhập ~/f và nhấn kết quả tab trong ~/foobar thay vì hoàn tất chính xác. Nếu tôi sử dụng ssh bên ngoài các emacs và thử cùng một điều, tôi sẽ hoàn thành đúng cách ~/frob.

Tôi làm cách nào để hoàn thành tab để hoàn thành cách thực hiện trong các phiên ssh bình thường?

Lưu ý sau: M-x cd RET /ssh:host.example.com:/path/to/me cũng dường như di chuyển nó vào việc có thể xử lý một cách duyên dáng với hoàn thành tab.

+0

bản sao có thể có của [Vỏ bọc từ xa Emacs] (http://stackoverflow.com/questions/1134149/emacs-remote-shell) –

Trả lời

10

các emacs không thể theo dõi thư mục hiện tại (mặc định-direcotry) khi ssh-ing đến các máy khác.

Bạn có thể thiết lập mặc định thư mục để một kẻ lang thang tập tin có tên tuổi như /ssh: yourhost:./Home/dir" trên vỏ đệm hiện tại của bạn bằng tay

tôi bắt đầu vỏ phiên trên maching từ xa chủ yếu qua tramp-bookmarks/default-thư mục shell. Tramp bộ tự động. Nhưng có một lỗi trong direcotry theo dõi trên các tập tin từ xa, được cố định trong thân cây (chưa được phát hành).

http://comments.gmane.org/gmane.emacs.bugs/39082

+0

Đó chính xác là câu trả lời tôi cần, cảm ơn. –

+0

cảm ơn jürgen! btw, bạn có thể backport sửa lỗi thư mục theo dõi với elisp này: (bổ sung móc 'comint-mode-hook (lambda() (đặt (make-local-variable' comint-file-name-prefix) (hoặc (file-remote-p default-directory) ""))))) – ryan

+0

Bạn có ý gì bởi 'tramp-bookmarks/shell'? –

9

Thay vì chạy vỏ M-x và chạy ssh đến máy tính từ xa, hãy truy cập thư mục trên máy tính từ xa (sử dụng Tramp) và sau đó chạy trình bao M-x trong bộ đệm Dired đó.

+0

Tôi chắc chắn sẽ thử lần sau khi tôi gặp phải tình huống này. –

Các vấn đề liên quan