Khi tôi sao chép một số dòng trong VIM bằng cách đánh dấu và sau đó nhấp chuột phải đôi khi có một số thao tác chèn xảy ra và chữ 'p' được thêm vào tệp.
Làm thế nào tôi có thể sao chép và dán mà không có vấn đề này?
Khi tôi sao chép một số dòng trong VIM bằng cách đánh dấu và sau đó nhấp chuột phải đôi khi có một số thao tác chèn xảy ra và chữ 'p' được thêm vào tệp.
Làm thế nào tôi có thể sao chép và dán mà không có vấn đề này?
Câu trả lời:
Khi sử dụng VIM, có nhiều cách tiếp cận tốt hơn để sao chép văn bản. VIM được sử dụng lý tưởng mà không cần chuột.
Để sao chép toàn bộ dòng, bạn có thể nhập 3yy
nơi bạn có thể thay thế 3 theo số lượng dòng bạn muốn sao chép. Bạn cũng có thể sao chép văn bản theo phạm vi số dòng :2,5y
. Hơn nữa, bạn có thể chọn các dòng bằng cách kích hoạt chế độ trực quan (nhấn v).
Dán có thể được thực hiện bằng cách gõ p
ở chế độ bình thường. Những cách này cuối cùng nhanh hơn nhiều so với các phương pháp tiếp cận bao gồm cả chuột.
Sử dụng các :help clipboard
thanh ghi để sao chép vào clipboard hệ thống của bạn. Tùy thuộc vào hệ thống của bạn, nó có thể "*
hoặc "+
. Vì vậy, ví dụ bạn có thể trực quan chọn một dòng bằng cách sử dụng V
và sau đó kéo vào bảng tạm hệ thống của bạn với "*y
. MacVim và một số GVims khác có tùy chọn menu bảng tạm hệ thống và phím nóng được tích hợp trong đó. Hãy thử ánh xạ bảng tạm vào một khóa trong ~ / .vimrc của bạn như sau:
vnoremap <C-v> "*y
Sau đó, bạn có thể chọn trực quan bằng chuột và nhấn CTRL-v để sao chép vào bảng tạm hệ thống.
Chọn văn bản bạn cần sau đó đi đến nơi bạn muốn dán và nhấn nút chuột phải. Tất nhiên bạn cần nhấn Chèn trước đó.
Đầu tiên, hãy nhìn để ánh xạ chuột tới đây
vnoremap <RightMouse> "*y
Gỡ lỗi ngoài đó: xem nếu nhấp chuột phải của bạn được ánh xạ một cách khó xử. Xem hướng dẫn về cách lập bản đồ rõ ràng khi cần hoặc ví dụ . Đáng buồn thay, điều này có thể nằm trong mã được biên dịch (của ứng dụng windows vim). Nhìn vào những tùy chọn ánh xạ lại mà bạn có thể có duy nhất cho Windows.
Cũng cần nhớ, để theo dõi hành vi tương tự trên dán. Bạn cần gõ i
trước khi nhấp chuột, đó là dán.
Điều thường có thể xảy ra là khi bạn nhấp chuột phải đang dán chuỗi, sau đó hoạt động giống như bạn đang gõ. Vì vậy, Vim không nhập insert mode
cho đến khi nhận được một nhân vật như i
hoặca