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!
85
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.źródło
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.
źródło
vim-gnome
pakiet zamiastvim
.vim --version | grep "+xterm_clipboard"
.clipboard=unnamed
zamiast tego ( vim.wikia.com/wiki/Accessing_the_system_clipboard )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.
źródło
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śnijy
(kłopotliwe w porównaniu do Shift + Insert).źródło
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.źródło
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:
lub
lub
Następnie kliknij środkowym przyciskiem myszy, aby wkleić do dowolnej innej aplikacji ...
źródło
Jeśli vim jest skompilowany z obsługą schowka, możesz użyć
"*y
znaczenia: przeciągnij wizualnie zaznaczony tekst do rejestru*
(„*” oznacza schowek)Jeśli nie ma obsługi schowka, myślę, że innym sposobem jest użycie
Ctrl+Insert
po wizualnym zaznaczeniu tekstu w vimie.źródło
Dodałem następujący wiersz do mojego
.vimrc
Umożliwia to skopiowanie zaznaczonego tekstu do schowka przez naciśnięcie
F5
. Aby to zadziałało, musisz być w trybie wizualnym.źródło
~/.vimrc
Dziękuję, to jest znacznie lepsze.Dodaj następujący kod do swojego
.vimrc
:źródło