Cách sao chép các dòng đã chọn vào khay nhớ tạm trong vim. Tôi biết cách làm điều đó cho tất cả các tệp văn bản , nhưng tôi muốn thực hiện cho các dòng đã chọn. Cảm ơn!
Cách sao chép các dòng đã chọn vào khay nhớ tạm trong vim. Tôi biết cách làm điều đó cho tất cả các tệp văn bản , nhưng tôi muốn thực hiện cho các dòng đã chọn. Cảm ơn!
Câu trả lời:
SHIFTVđưa bạn vào chế độ chọn dòng. Sau đó kéo "*ycác dòng hiện được chọn vào thanh *ghi là clipboard. Có khá nhiều thanh ghi khác nhau, cho các mục đích khác nhau. Xem phần trên selection and drop registersđể biết chi tiết về sự khác biệt giữa *và +đăng ký trên Windows và Linux.
Nếu bạn đang sử dụng Linux và đang sử dụng phiên bản VIm 7.3.74 trở lên (phiên bản được cài đặt trong Ubuntu 11.10 trở đi đáp ứng điều này), bạn có thể làm
set clipboard=unnamedplus
sẽ đặt văn bản bị kéo vào khay nhớ tạm thời chung và cho phép bạn dán từ khay nhớ tạm thời chung mà không cần phải sử dụng bất kỳ đăng ký đặc biệt nào. Không giống như giải pháp của ldigas, giải pháp này cũng sẽ hoạt động trên các phiên bản VIm không phải gui.
vim-gnomegói thay vì vim.
vim --version | grep "+xterm_clipboard".
clipboard=unnamedthay thế ( vim.wikia.com/wiki/Accessing_the_system_clipboard )
set guioptions+=a
will, ... uhmm, nói tóm lại, bất cứ khi nào bạn chọn / kéo một cái gì đó, hãy đặt nó vào khay nhớ tạm (không phải của Vim, mà là bàn phím chung của hệ thống cửa sổ). Bằng cách đó, bạn không phải nghĩ về việc sắp xếp mọi thứ vào một sổ đăng ký đặc biệt.
Đối với GVIM, nhấn vđể chuyển sang 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 thời chung.
Từ menu, bạn có thể thấy rằng phím tắt "+ytức là giữ phím Shift, sau đó nhấn ", sau +đó thả Shift và nhấn y(rườm rà so với Shift + Insert).
Nếu bạn đang sử dụng vim trong MAC OSX, rất tiếc là nó đi kèm với xác minh cũ hơn và không tuân thủ các tùy chọn khay nhớ tạm. 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 of 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.
nối dòng sau vào ~ / .vimrc
set clipboard=unnamed
bây giờ bạn có thể sao chép dòng bằng vim yy
và dán nó trên toàn hệ thống.
Cài đặt "xclip" nếu bạn chưa ...
sudo apt-get install xclip
Xclip đưa dữ liệu vào khay nhớ tạm "lựa chọn / được đánh dấu" mà bạn nhấp chuột giữa để dán trái ngược với "ctrl + v"
Trong khi ở trong vim, hãy sử dụng các lệnh cũ:
7w !xclip
hoặc là
1,7w !xclip
hoặc là
%w !xclip
Sau đó, chỉ cần nhấp chuột giữa để dán vào bất kỳ ứng dụng nào khác ...
Tôi đã thêm dòng sau vào .vimrc
vnoremap <F5> "+y<CR>
Điều này cho phép bạn sao chép văn bản đã chọn vào khay nhớ tạm bằng cách nhấn F5. Bạn phải ở chế độ trực quan để điều này hoạt động.
~/.vimrcCảm ơn bạn, điều này tốt hơn nhiều.
Thêm mã sau vào của bạn .vimrc:
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