Jak skopiować wybrane linie do schowka w vimie. Wiem, jak to zrobić dla wszystkich plików tekstowych , ale chcę to zrobić dla wybranych linii. Dzięki!
Jak skopiować wybrane linie do schowka w vimie. Wiem, jak to zrobić dla wszystkich plików tekstowych , ale chcę to zrobić dla wybranych linii. Dzięki!
Odpowiedzi:
SHIFTVprzełącza cię w tryb zaznaczania linii. Następnie "*yszarpie aktualnie wybrane linie do *
rejestru, którym jest schowek. Istnieje kilka różnych rejestrów do różnych celów. Zobacz sekcję, selection and drop registers
aby uzyskać szczegółowe informacje na temat różnic między rejestrami *
i +
w systemach Windows i Linux.
Jeśli korzystasz z systemu Linux i używasz VIm w wersji 7.3.74 lub nowszej (wersja instalowana w systemie Ubuntu 11.10 i nowszych spełnia to wymagania), możesz to zrobić
set clipboard=unnamedplus
który umieści szarpany tekst w globalnym schowku i pozwoli na wklejenie go z globalnego schowka bez konieczności używania specjalnych rejestrów. W przeciwieństwie do rozwiązania ldigas, będzie to również działać na wersjach VIm bez interfejsu GUI.
vim-gnome
pakiet zamiast vim
.
vim --version | grep "+xterm_clipboard"
.
clipboard=unnamed
zamiast tego ( vim.wikia.com/wiki/Accessing_the_system_clipboard )
set guioptions+=a
will, ... uhmm, w skrócie, za każdym razem, gdy coś wybierzesz / szarpniesz, umieść to również w schowku (nie Vima, ale globalna klawiatura systemu okien). W ten sposób nie musisz myśleć o szarpaniu rzeczy do specjalnego rejestru.
W przypadku GVIM naciśnij, v
aby przejść do trybu wizualnego; zaznacz tekst i naciśnij, Ctrl+Insert
aby skopiować zaznaczenie do globalnego schowka.
Z menu widać, że klawisz skrótu to "+y
np. Przytrzymaj klawisz Shift, następnie naciśnij "
, +
a następnie zwolnij Shift i naciśnij y
(kłopotliwe w porównaniu do Shift + Insert).
Jeśli używasz Vima w MAC OSX, niestety jest dostarczany ze starszą wersją i nie jest zgodny z opcjami schowka. Na szczęście homebrew może łatwo rozwiązać ten problem.
zainstaluj vim:
brew install vim --with-lua --with-override-system-vim
zainstaluj wersję gui vima:
brew install macvim --with-lua --with-override-system-vim
zrestartuj terminal, aby odniosły skutek.
dołącz następujący wiersz do ~ / .vimrc
set clipboard=unnamed
teraz możesz skopiować linię w vimie za pomocą yy
i wkleić ją w całym systemie.
Zainstaluj „xclip”, jeśli nie masz ...
sudo apt-get install xclip
Xclip umieszcza dane w schowku „zaznaczenie / zaznaczenie”, który klikasz środkowym przyciskiem myszy, aby wkleić, w przeciwieństwie do „ctrl + v”
W vimie użyj poleceń ex:
7w !xclip
lub
1,7w !xclip
lub
%w !xclip
Następnie kliknij środkowym przyciskiem myszy, aby wkleić do dowolnej innej aplikacji ...
Dodałem następujący wiersz do mojego .vimrc
vnoremap <F5> "+y<CR>
Umożliwia to skopiowanie zaznaczonego tekstu do schowka przez naciśnięcie F5
. Aby to zadziałało, musisz być w trybie wizualnym.
~/.vimrc
Dziękuję, to jest znacznie lepsze.
Dodaj następujący kod do swojego .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