Cách sao chép các dòng đã chọn vào khay nhớ tạm trong vim. Tôi biết làm thế nào để làm điều đó cho all text files, nhưng tôi muốn làm trong cho các dòng được chọn. Cảm ơn!Cách sao chép các dòng đã chọn vào clipboard trong vim
Trả lời
SHIFTV đặt bạn ở chế độ dòng chọn. Sau đó "*y yanks các dòng hiện đang được chọn vào *
đăng ký đó là clipboard. Có quite a few thanh ghi khác nhau, cho các mục đích khác nhau. Xem phần selection and drop registers
để biết chi tiết về sự khác biệt giữa *
và +
thanh ghi trên windows và Linux.
Trong Linux, + là clipboard toàn cục, * là lựa chọn clipboard, trong khi trong Windows cả bản đồ vào clipboard toàn cục. – Mohnish
Bất kỳ cách nào để thực hiện việc này trong Mac Terminal? Điều đó không yêu cầu cài đặt công cụ ... –
set guioptions+=a
sẽ, ... uhmm, trong ngắn hạn, bất cứ khi nào bạn chọn/yank một cái gì đó đặt nó trong clipboard cũng như (không Vim, nhưng bàn phím toàn cầu của hệ thống cửa sổ). Bằng cách đó bạn không cần phải suy nghĩ về việc đưa mọi thứ vào một speci al đăng ký.
//, Hệ điều hành và/hoặc phiên bản nào của Vim thực hiện lời khuyên này? –
Nếu bạn đang ở trên Linux và đang sử dụng một phiên bản Vim 7.3.74 hoặc cao hơn (phiên bản đó được cài đặt trong Ubuntu 11.10 trở đi thỏa mãn này), bạn có thể làm
set clipboard=unnamedplus
mà sẽ đặt yanked văn bản vào clipboard toàn cầu, và cho phép bạn dán từ clipboard toàn cục, mà không cần phải sử dụng bất kỳ thanh ghi đặc biệt nào. Không giống như giải pháp của ldigas, điều này cũng sẽ làm việc trên các phiên bản không phải gui của VIm.
Điều này chỉ hoạt động nếu tôi cài đặt gói 'vim-gnome' thay vì' vim'. –
@ dan-klasson: tùy chọn này yêu cầu một vim được biên dịch với hỗ trợ clipboard. Bạn có thể kiểm tra xem đây có phải là trường hợp không bằng cách gõ 'vim --version | grep "+ xterm_clipboard" '. – BenC
Điều này dường như làm việc để sao chép vào các chương trình không phải vim khác, nhưng khi tôi đi vào chế độ chèn trong vim và sử dụng "shift + insert" để dán từ clipboard, chỉ có hai dòng đầu tiên được dán ... Tôi đã cài đặt vim- gnome; Tôi có thiếu cái gì khác không? – t2k32316
Cài đặt "xclip" nếu bạn chưa ...
sudo apt-get install xclip
xclip đặt dữ liệu vào "lựa chọn/nhấn mạnh" vào clipboard mà bạn giữa chuột để dán như trái ngược với "ctrl + v"
trong thời gian ở vim lệnh sử dụng ví dụ:
7w !xclip
hoặc
1,7w !xclip
hoặc
%w !xclip
Sau đó chỉ cần trung bấm vào để dán vào bất kỳ ứng dụng khác ...
Đối GVIM, nhấn v
để đi vào chế độ trực quan; chọn văn bản và nhấn Ctrl+Insert
để sao chép lựa chọn vào khay nhớ tạm trên toàn cầu.
Từ menu bạn có thể thấy rằng các phím tắt là "+y
ví dụ: giữ phím Shift, sau đó nhấn "
, sau đó +
và sau đó phát hành Shift và nhấn y
(cồng kềnh so với Shift + Insert).
Nếu vim được biên soạn với sự hỗ trợ clipboard, sau đó bạn có thể sử dụng "*y
ý nghĩa: yank văn bản đã chọn trực quan vào sổ đăng ký *
('*' là dành cho clipboard)
Nếu không có sự ủng hộ vào clipboard, tôi nghĩ rằng cách duy nhất khác là sử dụng Ctrl+Insert
sau khi chọn trực quan văn bản trong vim.
Nếu bạn đang sử dụng vim trong MAC OSX, tiếc là nó đi kèm với verion cũ hơn và không tuân thủ các tùy chọn clipboard. May mắn thay, homebrew có thể dễ dàng giải quyết vấn đề này.
cài đặt vim:
brew install vim --with-lua --with-override-system-vim
cài đặt gui verion của vim:
brew install macvim --with-lua --with-override-system-vim
khởi động lại thiết bị đầu cuối có hiệu lực.
thêm dòng sau vào ~/vimrc
set clipboard=unnamed
bây giờ bạn có thể sao chép các dòng trong vim với yy
và dán nó trên toàn hệ thống.
//, tôi đã thử nghiệm điều này trên OSX 10.12.3 và nó hoạt động đúng sau khi tôi cài đặt cả Vim mới nhất và phiên bản Vet GUI của Vim, như bạn đã đề xuất ở đây. Cảm ơn, @anonymous. –
Thêm đoạn mã sau vào .vimrc
của bạn:
if has('clipboard')
if has('unnamedplus') " When possible use + register for copy-paste
set clipboard=unnamed,unnamedplus
else " On mac and Windows, use * register for copy-paste
set clipboard=unnamed
endif
endif
- 1. Sao chép văn bản của Vùng đã Chọn vào clipboard
- 2. Cách sao chép các dòng phía trên dòng đã chọn trong Vim
- 3. Sao chép BufferedImage vào clipboard
- 4. Sao chép javascript đã tạo hình ảnh vào clipboard
- 5. DataGridView: Sao chép hoàn thành vào clipboard
- 6. trong vim với xclip, yank vào clipboard
- 7. Nút Greasemonkey \ JavaScript Sao chép vào Clipboard
- 8. WPF Datagrid: sao chép các hàng bổ sung vào clipboard
- 9. Cách sao chép vào clipboard trong Emacs Lisp
- 10. Sao chép nội dung DataGridView vào clipboard
- 11. Elisp: Sao chép bộ đệm vào clipboard
- 12. Người dùng Chọn các bản sao còn lại vào clipboard
- 13. lệnh Cygwin để sao chép vào cửa sổ vào clipboard
- 14. Sao chép các hàng đã chọn vào ma trận mới
- 15. Làm thế nào để sao chép một dòng vào clipboard trong Eclipse?
- 16. Sao chép vào clipboard trong phần mở rộng chrome
- 17. Sao chép hình ảnh vào clipboard bằng JavaScript/jquery
- 18. Sao chép tên đường dẫn/tệp trong Eclipse vào clipboard
- 19. Làm thế nào để sao chép vào clipboard trong F #?
- 20. Sao chép tệp trong nhật thực sao chép tên tệp (Chuỗi) thay vì tệp vào clipboard
- 21. Sao chép văn bản vào clipboard bằng Zero, Clipboard trong asp.net
- 22. R: Chức năng sao chép vào clipboard trên Mac/OSX?
- 23. Trong Vim, có cách nào để sao chép số dòng hiện tại vào bộ đệm không?
- 24. javascript cắt/sao chép/dán vào clipboard: Google đã giải quyết nó như thế nào?
- 25. Làm thế nào để sao chép vào clipboard bằng X11?
- 26. Sao chép vào clipboard từ IPython bằng Windows 7
- 27. Sao chép khóa công khai rsa vào clipboard
- 28. Vim: Chức năng sao chép
- 29. nhấp đúp vào TStaticText trong ứng dụng Delphi XE2 sao chép chú thích vào clipboard
- 30. Không thể sao chép nhanh một file vào clipboard trong một máy tính Linux
liên quan: http://stackoverflow.com/questions/7694633/copy-lines-using-visual-mode-in-vim, http: // stackoverflow.com/questions/3961859/how-to-copy-to-clipboard-using-vim – eckes
xem http://vim.wikia.com/wiki/Cut/copy_and_paste_using_visual_selection – laike9m