Mogę przechwycić plik, skopiować i wkleić tekst za pomocą środkowego przycisku lub shift-insert.
Jak mogę skopiować tekst w vimie i wkleić go ze schowka systemowego?
:!sed -n 5,10p %
:!cat %
Mogę przechwycić plik, skopiować i wkleić tekst za pomocą środkowego przycisku lub shift-insert.
Jak mogę skopiować tekst w vimie i wkleić go ze schowka systemowego?
:!sed -n 5,10p %
:!cat %
Odpowiedzi:
Trzeba mieć z Vima clipboardi xtermclipboardfunkcji skompilowany w. W Ubuntu, są dostępne tylko z pakietami vim GUI ( vim-gnome, vim-gtk, vim-athena, itp).
Po zainstalowaniu jednego z nich możesz skopiować (i wkleić) rejestry schowka ( *i +). Z tego bardzo pouczającego postu na temat Vi i Vima :
W przypadku systemów opartych na X11 (tj. Linux i większość innych systemów podobnych do UNIX ) istnieją 2 schowki, które są od siebie niezależne:
- PODSTAWOWE - Jest to kopiowanie przy wyborze i można je wkleić środkowym przyciskiem myszy.
- SCHOWEK - Jest to kopiowane (zwykle)
^Ci wklejane^V(To jest jak MS Windows).
Vim ma 2 specjalne rejestry odpowiadające tym schowkom:
*używa PODSTAWOWY; mnemonic: s tar is s elect (dla copy-on- s elect)+używa SCHOWKA; mnemonic: CTRL + C (dla wspólnego skrótu klawiszowego)
Aby skopiować do rejestru, poprzedzaj polecenie kopiowania ( y) znakiem "i nazwą rejestru ( *na przykład). "*y, a następnie kliknij środkowym przyciskiem myszy, aby wkleić lub "+yi ShiftInsertwkleić.
Z tego pytania wynika dość interesujące rozwiązanie . Zainstaluj xclip, a następnie potokuj dane wyjściowe polecenia do xclip ( cat file | xclip -selection clipboardna przykład), a następnie wklej je w dowolnym miejscu (jeśli jest w terminalu - użyj Ctrl ShiftV
). Okazuje się, że możesz faktycznie skrócić to polecenie xclip -sel clip, co nie jest do końca oczywiste po przeczytaniu strony podręcznika man lub zawartych tam przykładów.
/dev, ale tekst jest gdzieś przechowywany, prawda?
Miałem problem, ponieważ mój vim nie obsługiwał schowka :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
Zainstalowałem vim-gnome (który obsługuje schowek), a następnie sprawdziłem ponownie:
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
Teraz jestem w stanie skopiować i wkleić, używając odpowiednio „+ y” i „+ p”.
sed -n5,10pdo drukowania linii 5-10, aby łatwiej kopiować i wklejać bez reakcji vima na mysz.