Điều hướng bằng SSH


10

Tôi biết người ta có thể sử dụng vim scp://host/path/to/fileđể chỉnh sửa các tệp từ xa cục bộ sau đó cập nhật máy từ xa khi lưu ( :w). Tuy nhiên tôi muốn biết liệu có thể điều hướng qua các thư mục bằng ssh không (hoặc nếu có plugin để làm điều đó)

NERDTree không hỗ trợ nó và khi vim vào một thư mục, mặc dù netrw cho phép tôi điều hướng vào các thư mục, mở một tệp không hoạt động.

Câu trả lời:


13

Thay vì trỏ Vim / Netrw vào một tệp:

scp://host/path/file

trỏ nó vào một thư mục:

scp://host/path/

Điều này cung cấp cho bạn cùng một danh sách và các phím tắt giống như khi bạn đang duyệt máy của mình.


Bạn đã thử điều này khi từ xa từ Unixmáy của bạn để truy cập các thư mục trên máy Windows .. Tôi vừa thử vim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/, và nó chỉ cho tôi một màn hình trống, với lỗi 'ls' is not recognized as an internal or external commandkhi tôi thử: vim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/filename.. nó hoạt động tốt.
alpha_989

Từ đó có vẻ như vimđang phát lệnh ls, khi nó đăng nhập vào máy tính từ xa .. và vì nó là máy tính windows .. không có ls.. và lệnh thất bại. Có thể cho vim truy cập các windowsthư mục qua ssh bằng cách sử dụng netrwplugin hoặc cái gì khác không? Tôi đang sử dụngVIM 8.1
alpha_989

2
Xin lưu ý rằng dấu gạch chéo sau scp://host//path/là cần thiết để làm việc này; nếu không, vim sẽ cố gắng mở đường dẫn dưới dạng tệp thông thường, sẽ tải trống.
koyae

1

Rất tiếc tôi đã mở câu hỏi này!

Vì vậy, vấn đề là ở chỗ, với phiên bản netrw mà tôi đã có (được đóng gói với vim-gnome trên Debian Jessie), việc sửa đổi một tệp từ trình thám hiểm (thông qua ssh) sẽ không sử dụng URI chính xác (từ bộ nhớ, '@' trong ' người dùng @ host 'bị thiếu). Nó đã mở một tệp trống (vì nó không tìm thấy gì) nhưng nó vẫn lưu tệp mới bằng cách sử dụng URI tốt (ghi đè hiệu quả tệp gốc).

Câu trả lời của @ user21497 cũng giúp tôi vì tôi chưa bao giờ thấy rằng phím tắt 'tệp mới', khá tiện lợi vì sử dụng ': e' tạo tệp cục bộ.

Cuối cùng, câu hỏi này đã giúp tôi điều hướng tốt hơn bằng cách sử dụng netrw (quay lại trình thám hiểm sau khi mở tệp bằng: Ex)

Cảm ơn sự giúp đỡ của các bạn !


0

Tôi không chắc ý của bạn là gì khi "thông báo tệp mới"; nếu bạn muốn tạo một tệp mới, khi duyệt qua scp: // hostname / thư mục, chỉ cần nhấn "%" như bạn muốn khi trong một thư mục cục bộ để tạo một tệp mới. Xem: giúp netrw-%. Bạn có thể tạo một thư mục bằng cách sử dụng d (: help netrw-d). Nếu bạn muốn sửa đổi một tệp đã có sẵn, hãy chọn nó bằng con trỏ ở trên tên tệp trong màn hình netrw và nhấn <cr>(cũng có các phương pháp lựa chọn khác, bao gồm v, o, t, v.v.). Xem: giúp netrw-quickmap để biết tổng quan về điều này. Tôi đã thử điều này và không nhận được một tập tin trống (khi tồn tại trước). Một tập tin mới, tất nhiên, sẽ trống.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.