Vim sao chép-dán trên thiết bị đầu cuối


19

Các vim thông thường yankpastechỉ hoạt động trong cùng một cửa sổ (nhưng hoạt động trên các tệp và đóng / lưu lệnh). Có thể làm cho nó hoạt động trên các thiết bị đầu cuối (kéo từ cửa sổ trong một thiết bị đầu cuối và dán vào một thiết bị khác) và nếu vậy, làm thế nào?

Câu trả lời:


30

Có lẽ điều đơn giản nhất để bạn thử là đưa set clipboard=unnamedvào .vimrcvà khởi động lại các phiên vim của bạn.

Điều này cho phép bạn chạy yank(ví dụ yy) trong một cửa sổ và put(ví dụ p) trong một cửa sổ khác sẽ chỉ hoạt động, vì tất cả các phiên vim sẽ được chia sẻ cùng bộ đệm lựa chọn X.

Mặt khác, bộ đệm yank của bạn sẽ bị ghi đè ngay khi bạn chọn một số văn bản trong bất kỳ cửa sổ nào khác của bất kỳ ứng dụng nào.

Mặt khác, nó cũng có nghĩa là bất cứ thứ gì bạn có trong vim giờ đây đều có thể được dán vào bất kỳ ứng dụng nào bằng cách nhấp chuột giữa.

Nếu bạn không thích theo cách đó, bạn có thể nhập "+hoặc "*trước yank của bạn và đặt lệnh, ví dụ "+yyđể kéo một dòng.

Các +hình thức tương tác với clipboard ( "+ygiống như Ctrl+ C, "+pgiống như Ctrl+ V).
Các *hình thức tương tác với bộ đệm lựa chọn ( "*ygiống như nhấp chuột trái và kéo, "*pgiống như nhấp chuột giữa).

Xem phần Tạo lựa chọn GUI , hỗ trợ lựa chọn X11 và các tùy chọn bảng tạmchuột để biết chi tiết.


3
Chúa tôi yêu nhấp chuột giữa. :)
Dan M.

set clipboard=unnamedkhông hoạt động với tôi (tôi đặt nó vào .vimrc và khởi động lại tất cả các phiên vim). Thật không may, cũng không làm các phương pháp khác. Có vẻ như vim của tôi không được biên dịch với x-support. Tôi đang sử dụng VNC để kết nối với máy linux từ máy windows.

3
Có, phương pháp này yêu cầu hỗ trợ X11. Chạy :echo has('x11'), nếu hỗ trợ X được kích hoạt, nó sẽ in 1.
Mikel

0

Nếu bạn muốn sao chép toàn bộ tệp vào tệp mục tiêu của mình.

Mở tệp mục tiêu của bạn trong vim.

Đặt con trỏ của bạn vào nơi bạn muốn và gõ như sau:

:r /path_to_file/file.ext

Điều này sẽ sao chép toàn bộ tệp vào nơi con trỏ của bạn ...

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.