Làm cách nào tôi có thể sao chép và dán văn bản từ một vim từ xa vào một vim cục bộ?


12

Tôi đang chỉnh sửa một tệp trong vim trên một máy từ xa thông qua ssh và tôi muốn sao chép văn bản từ tệp từ xa và dán nó vào một ví dụ vim chạy trên máy cục bộ của tôi. Có cách nào làm dễ hơn không? Tôi có thể sử dụng các tính năng lựa chọn của trình giả lập thiết bị đầu cuối của mình để chọn văn bản hiện có trên màn hình, nhưng nếu lựa chọn của tôi lớn hơn có thể vừa với màn hình, tôi sẽ không gặp may.


Câu trả lời:


23

Mở tệp từ xa trong phiên vim cục bộ:

  :e scp://user@host/relative/path/from/home.txt

Tôi thích. Đẹp và đơn giản.
Chev

Mẹo tuyệt vời! Điều này scp://có thể được nhận ra ở nơi khác hay chỉ là VIM?
Ngọn lửa đông lạnh

1
@F FrozenFlame: Tôi tin rằng đó là ứng dụng cụ thể. NHƯNG tôi sẽ không ngạc nhiên nếu một DE lớn như KDE hoặc Gnome bắt buộc hỗ trợ cho lược đồ này trong mọi ứng dụng.
nperson325681

1
Đối với đường dẫn tuyệt đối::e scp://user@host//tmp/file.txt
Simon A. Eugster

9

Nếu bạn có đủ quyền trên máy từ xa, bạn có thể thêm

AcceptEnv WINDOWID

đến / etc / ssh / sshd_config và khởi động lại sshd với

sudo /etc/init.d/ssh restart

Sau đó, trên máy cục bộ của bạn thêm

ForwardX11 yes
SendEnv WINDOWID

vào tập tin ~ / .ssh / config của bạn

Sau đó, bằng cách chạy vim nhận biết X trên máy từ xa (ví dụ gvim -v:), bạn có thể sao chép và dán vào và từ bảng tạm X. Chỉ cần trực quan chọn văn bản (ví dụ, sử dụng V) và kéo nó vào thanh *ghi.

Biên tập

Tôi đã quên bao gồm phần về cài đặt SendEnv WINDOWIDtrong ~ / .ssh / config của bạn, vì vậy tôi đã thêm nó và chuyển việc bật chuyển tiếp X từ dòng lệnh ( -Xtùy chọn ssh ) sang tệp ~ / .ssh / config ( ForwardX11 yes).


Tôi cần cài đặt gói xauth để nó hoạt động trên Debian.
leo

với điều này tôi có thể sao chép cục bộ và dán từ xa. Có cách nào để làm khác không? cảm ơn!
Paschalis
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.