Jak wspomniano w tytule, nie mogę skopiować z vima do schowka systemowego. Viceversa działa, kopiowanie z zewnętrznego vima i wklejanie p
jest w porządku.
Zainstalowałem obsługę schowka, wersja vima to 7.3.429:
$ vim --version | grep clip
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+xsmp_interact +xterm_clipboard -xterm_save
Mam:
set clipboard=unnamedplus
w moim .vimrc
i jest ustawiony, gdy:
set clipboard?
lub
:echo has('clipboard')
Używam Ubuntu 12.04 LTS i vim wewnątrz gnome-terminal
(ale także GVim ma ten sam problem). Dowolny pomysł?
Dzięki
clipboard+=unnamedplus
coś w ustawieniu domyślnym wyłączało to. Zmiana naclipboard=unnamedplus
(np. Usunięcie innych ustawień) działała dla mnie.set clipboard+=unnamed
iset clipboard+=unnamedplus
nie działa podczas używania y i p do udostępniania schowka systemowego.:set clipboard?
==clipboard=autoselect,exclude:cons\|linux,unnamed,unnamedplus
; Po usunięciu pierwszego+
, który jestset clipboard=unnamed
iset clipboard+=unnamedplus
, i działa !!:set clipboard?
==clipboard=unnamed,unnamedplus
Odpowiedzi:
Oto, co działa dla mnie (Ubuntu 13.10):
Ponownie zainstaluj vim jako vim-gtk:
wybierz, co chcesz za pomocą myszy - a następnie wpisz, aby skopiować do schowka :
wkleić do vima ze schowka :
Nie wiem dlaczego, ale porównanie wyników
vim --version
pokazuje, że zwykła instalacja vima jest dość ograniczona w porównaniu do vim-gtk. Zastąpienie vima vim-gtk nie wpłynęło na żadne wtyczki.Dalsza informacja:
źródło
xterm_clipboard
wsparcie, ale"+p
nie działa w zwykłym VIM. Zamiast przycinać do schowka, zwiększa ilość wybranych linii.vim-gtk
ostatecznie działała dla mnie w 14.04.4, ale doświadczyłem rzeczy nieco inaczej niż inni komentując. Przedvim-gtk
zainstalowaniem vim pokazywał-xterm_clipboard
(tzn. Nie był włączony). Po zainstalowaniuvim-gtk
pokazuje (+ xterm_clipboard). Sprawdzam to za pomocąvim --version | grep clip
. W każdym razie ma sens, że potrzebujesz+xterm_clipboard
!Pierwszą odpowiedź pozostawię poniżej, ponieważ może być ważna dla innych osób, które szukają tego pytania.
Krótko mówiąc, wydaje się, że nie ma jednego rozmiaru dla wszystkich odpowiedzi, ale w przypadku „set clipboard = unnamedplus” jeden z „* p” lub „+ p” powinien działać ze schowka „systemowego”.
„* p” jest prawie na pewno tym, czego chcesz. ( stąd )
vim to program cli. Gdy używasz go w gnome-terminalu (lub dowolnym emulatorze terminali), crtl + c (lub dowolna kombinacja klawiszy) jest obsługiwany najpierw przez emulator terminala, następnie powłokę, a na końcu program (w tym przypadku vim). vim i ctrl + c prawie na pewno nigdy nie będą działać, ponieważ ctrl + c wysyła sygnał SIGINT do uruchomionego zadania. vim używa SIGINT do zatrzymania innych rzeczy, takich jak przerywanie trybu wstawiania lub zatrzymywanie funkcji wyszukiwania.
Innymi słowy. Ctrl + C nigdy tak naprawdę nie jest przekazywany do VIM. SIGINT jest przekazywany do VIM. SIGINT ma inne zastosowania w vimie, więc użycie do kopiowania prawdopodobnie nie zadziała (a nawet jeśli możesz to narzucić, nie jest to dobry pomysł).
Zamiast tego spróbuj trzymać się Ctrl + Shift + C i Ctrl + Shift + V (istnieją inne, ale myślę, że umieszczają tekst w schowku systemowym)
Szczerze mówiąc, niewiele wiem o gvimie.
źródło
ctrl-c
VIDEO ZEWNĘTRZNEGO i wklejaniap
, ale w vimie wiem, że muszę użyćy
..Użyj w swoim vimrc:
Umożliwi to ręczne wybieranie i kopiowanie za pomocą myszy.
źródło
Oprócz zaakceptowanej odpowiedzi , jeśli pracujesz zdalnie przez SSH (np.
tmux
Z wieloma panelami z różnymivim
procesami, między którymi chcesz kopiować), musisz także wyeksportować ekran X, ponieważvim
służy onxterm-clipboard
do łączenia różnych procesów. Możesz ustawić wyświetlanie X, uruchamiającTo musi być uruchomione przed
vim
uruchomieniem i pod każdą inną powłoką, którą masz.źródło
Znalazłem na Ubuntu 16.04, że muszę
vim-gui-common
zainstalować,"+y
aby działać.źródło