Vim kopiuj-wklej na terminalach

19

Zwykły vim yanki pastedziała tylko w tym samym oknie (ale działa między plikami i poleceniami zamykania / zapisywania). Czy można sprawić, by działał między terminalami (szarpnij z okna w jednym terminalu i wklej w innym), a jeśli tak, to w jaki sposób?


źródło

Odpowiedzi:

30

Prawdopodobnie najprostszą rzeczą, aby spróbować jest umieszczenie set clipboard=unnamedw twojej .vimrci ponownie swoje sesje vim.

Pozwala to na uruchamianie yank(np. yy) W jednym oknie, a put(np. p) W innym oknie będzie po prostu działać, ponieważ wszystkie sesje vim będą współużytkować ten sam bufor wyboru X.

Z drugiej strony, twój bufor yank zostanie zastąpiony, gdy tylko wybierzesz jakiś tekst w innym oknie dowolnej aplikacji.

Z drugiej strony oznacza to również, że wszystko, co zaciągasz w vimie, można teraz wkleić do dowolnej aplikacji poprzez kliknięcie środkowym przyciskiem.

Jeśli ci się nie podoba, możesz wpisać "+lub "*przed swoim szarpnięciem i wstawić polecenia, np. "+yyAby szarpnąć linię.

Te +formy interakcji z schowka ( "+yjest jak Ctrl+ C, "+pjest jak Ctrl+ V).
Te *formy interakcji z bufora selekcji ( "*yjest jak kliknięcie lewym przyciskiem myszy i przeciągnij, "*pjest jak środkowej kliknięcie).

Zobacz Making GUI Wybory , poparcie wyboru X11 oraz schowka i myszy opcje szczegółów.

Mikel
źródło
3
Boże, kocham środkowe kliknięcie. :)
Dan M.
set clipboard=unnamednie działa dla mnie (wstawiłem go do .vimrc i zrestartowałem wszystkie sesje vim). Niestety, podobnie jak inne metody. Wygląda na to, że mój vim nie jest skompilowany z obsługą X-ów. Korzystam z VNC, aby połączyć się z maszyną z systemem Linux z komputera z systemem Windows.
3
Tak, ta metoda wymaga obsługi X11. Uruchom :echo has('x11'), jeśli obsługa X jest włączona, zostanie wydrukowana 1.
Mikel
0

Jeśli chcesz skopiować cały plik do pliku docelowego.

Otwórz plik docelowy w vimie.

Ustaw kursor w żądanym miejscu i wpisz następujące polecenie:

:r /path_to_file/file.ext

Spowoduje to skopiowanie całego pliku do miejsca, w którym znajduje się kursor ...

no1uknow
źródło