Jak zrobić wklej vim ze schowka systemu (i skopiuj do)?


769

W przeciwieństwie do innych edytorów, vim przechowuje skopiowany tekst we własnym schowku. Dlatego bardzo trudno jest mi skopiować tekst ze strony internetowej i wkleić go do bieżącego działającego pliku. Zdarza się, że muszę albo otworzyć gedit, albo wpisać go ręcznie.

Czy mogę zrobić wklej vim ze schowka systemu?



7
Skopiuj „+ y Wklej” + p Działa podobnie jak szarpnięcie i wklej, z wyjątkiem tego, że wcześniej określisz rejestr.
— Banjocat

2
Aby użyć poniższych poleceń, upewnij się, że zrobiłeś to, sudo apt-get install vim-gnome co doda tę funkcjonalność do wbudowanego vima korzystania ze schowka systemu.
— Harnirvair Singh 16.04.16

2
@Harnirvair Dla wielu zestawów czytników tutaj vim-gnomejest to prawdopodobnie przesada lub po prostu niedostępna w ich systemie operacyjnym / dystrybucji, podczas gdy podejrzewam vim-gtki najlepiej vim-gtk3istnieje i wyciąga mniej zależności, jednocześnie zapewniając integrację ze schowkiem (przynajmniej dla tych wciąż na X11; Nie jestem pewien, jak to wszystko współdziała z Waylandem).
— underscore_d

3
Domyślnie w Fedorze - nie ma dostępu do schowka (potrzebujesz gvima), superuser.com/questions/194747/…
— icc97

Odpowiedzi:


880

"*I "+rejestry są do schowka systemowego ( :help registers). W zależności od systemu mogą robić różne rzeczy. Na przykład w systemach, które nie używają X11, takich jak OSX lub Windows, "*rejestr służy do odczytu i zapisu w schowku systemowym. W systemach X11 można używać obu rejestrów. Zobacz :help x11-selectionwięcej szczegółów, ale w zasadzie "*jest to analogiczne do podstawowego wyboru X11 (który zwykle kopiuje rzeczy wybrane za pomocą myszy i wkleja za pomocą środkowego przycisku myszy) i "+jest analogiczne do wyboru SCHOWKA X11 (który jest właściwym schowkiem).

Jeśli wszystko to przeszło ci przez głowę, spróbuj użyć "*yylub "+yyskopiować linię do schowka systemu. Zakładając, że masz odpowiednie opcje kompilacji, jedna lub druga powinna działać. Możesz to zmienić na coś wygodniejszego dla siebie. Na przykład, możesz umieścić vnoremap <C-c> "*yswój ~ / .vimrc, abyś mógł wizualnie wybrać i nacisnąć Ctrl+, caby szarpnąć do schowka systemu.

Pamiętaj, że kopiowanie / wklejanie ze schowka systemowego nie będzie działać, jeśli :echo has('clipboard')zwróci 0. W tym przypadku vim nie jest kompilowany z tą +clipboardfunkcją i będziesz musiał zainstalować inną wersję lub ją ponownie skompilować. Niektóre dystrybucje linuksa domyślnie zapewniają minimalną instalację vima, ale generalnie, jeśli zainstalujesz pakiet vim-gtklubvim-gtk3 , możesz uzyskać dodatkowe funkcje.

Możesz także zajrzeć do 'clipboard'opcji opisanej na :help cb. W takim przypadku możesz :set clipboard=unnamedlub :set clipboard=unnamedplusaby wszystkie operacje szarpania / usuwania były automatycznie kopiowane do schowka systemowego. Może to być niedogodnością w niektórych przypadkach, gdy przechowujesz coś innego w schowku, ponieważ to nadpisuje.

Aby wkleić, możesz użyć "+plub "*p(ponownie, w zależności od systemu i / lub żądanego wyboru) lub możesz zmapować je na coś innego. Piszę je wyraźnie, ale często znajduję się w trybie wstawiania. Jeśli jesteś w trybie wstawiania, nadal możesz wkleić je z odpowiednim wcięciem za pomocą <C-r><C-p>*lub <C-r><C-p>+. Zobaczyć :help i_CTRL-R_CTRL-P.

Warto również wspomnieć o pasteopcji vima ( :help paste). To wprowadza vima w specjalny „tryb wklejania”, który wyłącza kilka innych opcji, umożliwiając łatwe wklejanie do vima przy użyciu emulatora terminali lub znanego skrótu wklejania multipleksera. Po prostu wpisz, :set pasteaby ją włączyć, wklej zawartość, a następnie wpisz, :set nopasteaby ją wyłączyć. Alternatywnie możesz użyć tej pastetoggleopcji, aby ustawić kod klucza, który przełącza tryb ( :help pastetoggle). Polecam używanie rejestrów zamiast tych opcji, ale jeśli nadal są one zbyt przerażające, może to być wygodne obejście podczas doskonalenia kotłów vim.

Zobacz :help clipboardwięcej szczegółowych informacji.


103
Jest to bardzo pouczające, ale czy możesz podsumować, jakie naciśnięcia klawiszy należy wykonać, aby wkleić ze schowka systemowego ... na przykład, co się robi "*p? Czy naciskam Shift- ', a następnie Shift-8, a następnie p itd.?
— T. Brian Jones

10
Tak, wpisz te trzy znaki po kolei. Wiele poleceń w vimie wykorzystuje tak zwany „tryb oczekiwania operatora”, w którym naciśnięty jest jeden klawisz, a następnie vim czeka na więcej klawiszy. Weźmy ddna przykład. Pierwszy dwchodzi w tryb oczekiwania operatora, następnie drugi dkończy polecenie i usuwa linię. Jeśli jednak wpiszesz dG, Gspowoduje to usunięcie go na końcu pliku zamiast zwykłego usuwania wiersza. Rejestry używają tej samej zasady, aby umożliwić korzystanie z nich przez różne polecenia.
— Conner,

4
Niestety! Gdybym widział ten post tylko dzisiaj! To wszystko, co chciałem wiedzieć o kopiowaniu i wklejaniu ze schowka systemowego. „<Cr> <Cp> * lub <Cr> <Cp> +” to czyste złoto.
— Keith Pinson

54
Nacisk: musisz zainstalować vim-gtkpakiet (przynajmniej pod Debianem), aby uzyskać kompilowany vim +xterm_clipboard. Zajęło mi to 40 minut, aby się tego dowiedzieć, i tylko kilka sekund sudo apt-get install vim-gtk.
— Dominykas Mostauskis

3
@DominykasMostauskis vim-gnomerównież działa i ma +xterm_clipboardwłączony.
— Chev

155

Możesz skopiować do vima za pomocą skrótu gnome-terminal do wklejania. Ustaw plik w trybie wstawiania i użyj

Ctrl+ Shift+ v.

Pamiętaj wcześniej

 :set paste 

aby uniknąć bałaganu z wcięciem.


19
ten bałagan z wcięciem, jeśli istnieje wiele linii, takich jak Python dla pętli
— Moj

11
Użyj przełącznika wklejania dla trybu wstawiania. Np. Ustaw pastetoggle = <F2> Następnie w trybie wstawiania naciśnij <F2>, a następnie wstaw kod python.
— Jan Weitz

Tak, skopiuj za pomocą Ctrl + Shift + c i wklej do
— innego

1
jeśli tabulatory / białe znaki, eole itp. są pokazane jako widoczny znak (za pomocą opcji listchars), wówczas te znaki zastępcze zostaną skopiowane zamiast ukrytych.
— user907860 18.01.2016

2
To powinna być wybrana odpowiedź, biorąc pod uwagę jej zwięzłą odpowiedź
— Aidin

41

Linux

W moim systemie Linux rejestry +i *rejestrują mapę na wybór X11, który można wkleić środkowym przyciskiem myszy. Kiedy :set clipboard=unnamedi :set clipboard=unnamedplussą używane, rejestry są mapowane do schowka i można je wkleić za pomocą CTRL-V.

Wygląda na to, że specyfika jest nieco zależna od konfiguracji i systemu, więc przebieg na pewno będzie się różnić. Jednak zdecydowanie powinno to doprowadzić cię do właściwego kierunku.

Zobacz też

http://vim.wikia.com/wiki/Accessing_the_system_clipboard


1
Mapuje tylko *do rejestru głównego X11 (który jest zwykle wklejany za pomocą myszy). +mapuje do rejestru schowka X11 zwykle wklejonego skrótami.
— ZyX

@ZyX Nie w moim systemie, ale Twój przebieg może się różnić. Najlepiej jest jawnie skonfigurować pożądane zachowanie, jeśli chcesz uzyskać spójne wrażenia na różnych platformach i wersjach oprogramowania.
— Todd A. Jacobs,

Wierzę, że oznacza to, że masz menedżera schowka, takiego jak klipper / glipper, są w stanie zsynchronizować dwa bufory. To nie zmienia faktu, że vim zastosowania *dla pierwotnego i +do schowka rejestrach X11, widać to w vim źródło: te wartości są ustawione tam i nigdy zmodyfikowany, a clip_stari clip_plussą zawsze używane do *i +rejestry odpowiednio.
— ZyX

41

Dla mnie ta konfiguracja działa w przypadku kopiowania i wklejania

" copy and paste
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <ESC>"+pa

w co wkleiłeś?
— StarWind0,

To IMHO jest lepszym rozwiązaniem niż ustawienie clibboard na nienazwany - aby nie zadzierać ze schowkiem systemu operacyjnego przy każdej akcji x / dd / y itp. A na Macu lepszym pomysłem może być zmiana modyfikatora C (ctrl) na D w celu mapowania kombinacji cmd + c / x / v.
— mindex

34

Byłyby to linie potrzebne w twoim vimrc do tego celu:

set clipboard+=unnamed  " use the clipboards of vim and win
set paste               " Paste from a windows or from vim
set go+=a               " Visual selection automatically copied to the clipboard

2
Podoba mi się twoje rozwiązanie. Chciałbym lepszego wyjaśnienia.
— zhon

świetny. korzystanie z rejestrów zawsze sprawia, że ​​waham się i muszę myśleć. Jest o wiele lepiej
— JonnyRaa

Moja wersja vima ma + schowek i ta opcja nie działa dla mnie. Używam Byobu (który używa Tmux pod maską).
— GGhe

Musiałem dodać zestaw schowka + = unnamedplus dla Fedory
— hakunin

29

Uważam, że to pytanie zasługuje na bardziej obiektywną i graficzną odpowiedź:

Wejście w tryb wklejania

  • ESC
  • : ustaw wklej
  • naciśnij i
  • SHIFT+ Insert(z tekstem skopiowanym do schowka)


Opuszczanie trybu wklejania

  • ESC
  • : ustaw nopaste
  • naciśnij i

Wkleiłeś tekst i możesz pisać ponownie.


1
Mam to do pracy, ale :set nopastenic nie robi. Co to ma zrobić? Po co mi to?
— Marko Avlijaš

1
Właściwie to robi. Podczas występu :set nopastemówisz edytorowi, że nie chcesz już wklejać. A ikiedy trafisz , wrócisz do trybu edycji :).
— ivanleoncz

2
Szczerze mówiąc, Marko, nie wiem.
— ivanleoncz

1
Dzięki SHIFT + Insert zrobiłem to dla mnie, dzięki!
— Melissa Loos,

1
To działało dla mnie jak urok. Za każdym razem, gdy wracam do vima, zawsze muszę wyglądać mniej więcej tak.
— benjaminadk

17

schowek

Istnieje specjalny rejestr do przechowywania tego wyboru, jest to rejestr „*. Nic tu nie jest wprowadzane, chyba że informacja o tym, jaki tekst jest zaznaczony, ma się zmienić (np. Gdzieś lewym przyciskiem myszy) lub gdy inna aplikacja chce wklej zaznaczony tekst. Następnie tekst zostanie umieszczony w rejestrze „*. Na przykład, aby wyciąć linię i ustawić ją jako bieżący wybór / umieścić na SCHOWKU:

    "*dd

Podobnie, gdy chcesz wkleić zaznaczenie z innej aplikacji, np. Poprzez kliknięcie środkowym przyciskiem myszy, zaznaczenie jest najpierw umieszczane w rejestrze „*, a następnie„ wstaw ”jak każdy inny rejestr. Na przykład, aby wstawić zaznaczenie (zawartość SCHOWKA):

    "*p

rejestry E354

> There are nine types of registers:                      
> 1. The unnamed register ""
> 2. 10 numbered registers "0 to "9
> 3. The small delete register "-
> 4. 26 named registers "a to "z or "A to "Z
> 5. four read-only registers ":, "., "% and "#
> 6. the expression register "=
> 7. The selection and drop registers "*, "+ and "~ 
> 8. The black hole register "_
> 9. Last search pattern register "/

Wklej ze schowka

1. Clipboard: Copy
2. Vim insertmode, middle mouse key

Sprawdź obsługę schowka X11 w terminalu

Jeśli chcesz uruchomić Vima w terminalu, musisz poszukać wersji Vima, która została skompilowana z obsługą schowka. Sprawdź obsługę schowka X11, w konsoli wpisz:

% vim --version

Jeśli zobaczysz „+ xterm_clipboard”, możesz zacząć.

http://vim.wikia.com/wiki/Accessing_the_system_clipboard

Serwer X utrzymuje trzy opcje, zwane:

PODSTAWOWY, WTÓRNY i SCHOWEK

Wybór PODSTAWOWY jest konwencjonalnie używany do implementacji kopiowania i wklejania za pomocą środkowego przycisku myszy. Wybory WTÓRNE i SCHOWEK są rzadziej używane przez aplikacje.

http://linux.die.net/man/1/xsel


12

Wypróbowałem powyższe sugestie i żadna z nich nie działała w moim środowisku. (Klon Windows PuTTY przez ssh)

Pojawiło się dodatkowe googling: /unix/110684/copy-paste-into-sshd-vim-from-local-windows-clipboard

Jeden z komentarzy sugerował użycie, SHIFT+INSERTktóre pomogło wkleić ze schowka mojego pulpitu do bufora Vima. Ctrl-Cjuż pracował nad skopiowaniem do schowka na pulpicie z Vima.


2
Pracuję nad vimem wewnątrz narzędzia cmder [Windows 8.1]. kiedy wchodzisz w ustawienia cmdera> klucze i makra> wklej, tam mam polecenie shift + insert dla wklejania wielowierszowego i ctrl + v dla wklejania jednowierszowego.
— Zubair Alam,

1
dla mnie proste kliknięcie prawym przyciskiem działa jak urok !! Wystarczy kliknąć prawym przyciskiem myszy!
— Fr0zenFyr

2
Ponieważ używasz terminala, a ssh vim nie może dotrzeć do schowka twojego systemu macierzystego poprzez SSL. SHIFT+INSERTdziała, ponieważ jest to opcja wklejania dla twojego terminala (lub w twoim przypadku PuTTY); jednak wcięcie prawdopodobnie będzie błędne. Sprawdź ostatni akapit mojej odpowiedzi na temat pasteopcji rozwiązania tego.
— Conner,

1
@jinksPadlock. dzięki .. tak .. mogę skopiować / wkleić za pomocą myszy .. próbowałem dowiedzieć się, jak to zrobić, używając „samej klawiatury”. Kopiowanie z systemu Windows do VIM jest możliwe tylko przy użyciu klawiatury za pomocą Putty, ale nie w odwrotnym kierunku. W bash dla Windows .. nie można tego zrobić w żadnym kierunku ATM. Zebraliśmy listę zasobów, aby wskazać ludziom we właściwych kierunkach, a także dla nas .. jeśli masz coś do dodania .. możesz dodać je tutaj: stackoverflow.com/questions/45271895/…
— alpha_989

1
@ alpha_989 później lepiej niż nigdy;) Nie mogę dodawać do jinksPadlock, ponieważ obecnie nie mam systemu operacyjnego Windows pod palcami. SHIFT+INSdziała z hosta Linux na ssh vim, podobnie jak trzecie kliknięcie myszą.
— tuk0z

10

Nie miałem + schowka, więc wymyśliłem to alternatywne rozwiązanie za pomocą xsel:

Dodaj do swojego ~ / .vimrc:

vnoremap <C-C> :w !xsel -b<CR><CR>


1
Dzięki za świetny pomysł! Skończyło się na użyciu:vnoremap <C-C> :w !xclip -i -sel c<CR><CR>
— andy

6

Szybka uwaga dla osób, których instalacja vima nie obsługuje rejestrów * i +. Nie trzeba pobierać nowej instalacji vima, aby wkleić ją ze schowka. Oto alternatywna metoda:

1) Zainstaluj parcellite (menedżer schowka o małej powierzchni pamięci);

2) W pliku .vimrc dodaj:

command Clip r !parcellite -c

3) Uruchom ponownie vim.

Teraz, gdy wpiszesz: Clip jako polecenie ex, zawartość schowka zostanie wklejona pod kursorem. Możesz także zamapować nowe polecenie na klawisz funkcyjny, aby móc to zrobić za jednym naciśnięciem klawisza.


4

To działa dla mnie: Ctrl+ Shift+V


3
Odpowiedź @ neel już to stwierdziła. Powinien to być tylko komentarz lub, lepiej, głosowanie wzwyż, jeśli chcesz powiedzieć, że to również zadziałało.
— ericbn

3

Najprostszym rozwiązaniem tego problemu, które działa również między różnymi maszynami Linux, sshjest:

  1. Sprawdź, czy wsporniki vim X-11 Schowek: vim --version | grep clipboard. Jeżeli zgłasza powrotem -clipboardi -xterm_clipboardnależy zainstalować albo vim-gtkalbo vim-gnome(gvima na Arch Linux)

  2. Dodaj następujące wiersze do .vimrc:

set clipboard=unnamedplus
set paste
  1. Jeśli logujesz się na innym komputerze przez ssh, użyj opcji -Y: ssh -Y machine

Teraz kopiowanie i wklejanie powinno działać dokładnie tak, jak oczekiwano na jednym komputerze i na różnych komputerach, używając tylko ydla yank i ppasty. NB zmodyfikuj .vimrcna wszystkich komputerach, na których chcesz korzystać z tej funkcji.


Myślę, że X serwer powinien być również dostępny na serwerze, aby to działało. Tak! może być zainstalowany przez vim-gtk. Myślę, że xvfb będzie alternatywną opcją dla X serwera.
— Ajeeb.KP

3

Wpadłem na ten problem na połowie 2017 MacBook Pro pracującym vimwewnątrz iTerm2jak mój środowiska rozwoju podstawowej.

Jak sugerują inne odpowiedzi, pobiegłem vim --version i zauważyłem, że powraca-clipboard , co oznacza, że ​​wersjavim tego dostarczona z moim komputerem nie została skompilowana z opcją schowka.

homebrewPakiet vimwydaje się skompilowaćclipboard opcją, więc poprawka dla mnie było:

  1. Biegać brew install vim
  2. Dodaj set clipboard+=unnameddo mojego~/.vimrc pliku
  3. Zamknij i otwórz ponownie iTerm2

3

Skopiuj do schowka systemu operacyjnego

Wybierz tekst w trybie wizualnym, naciśnij "*y

Wklej ze schowka systemu operacyjnego

naciśnij "*p


2

W nawiązaniu do odpowiedzi Conner, który był wielki, ale C-R C-p + i C-R C-p *w trybie wstawiania jest nieco niewygodne. To samo "*pi"+p z trybu poleceń.

guru VIM zasugerował co następuje, aby zmapować C-vto, co C-r C-p +robi.

Możesz mieć :inoremap <C-v> <C-o>"+ptylko tryb wstawiania

jeśli naprawdę chcesz zastąpić blokowy tryb wizualny (nie jest to zalecane przez niego, ponieważ tryb wizualny jest dobry), możesz to zrobić map <C-v> "+p


2

Jeśli używasz vima w MAC OSX, niestety jest on 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ę vim:

brew install macvim --with-lua --with-override-system-vim

uruchom ponownie terminal, aby zastosować.


dodaj następujący wiersz do ~/.vimrc
set clipboard=unnamed

teraz możesz skopiować linię w vimie yyi wkleić ją w całym systemie.


2

Jeśli najpierw używasz myszy, zrób to

 :set paste 

Następnie right click mousezawartość w buforze zostanie wklejona


1

Oprócz tego :set clipboard=unnamedpowinieneś użyć mvim -vtego, co możesz uzyskać, brew install macvimjeśli używasz vima w Terminal.app na Mac OS X 10.9. Domyślny vim nie obsługuje opcji schowka.


1

Warto również wspomnieć, że w systemie OSX za pomocą Vima możesz zaznaczyć tekst za pomocą myszy, Cmd-C, aby skopiować do schowka systemowego OSX, a skopiowany tekst będzie dostępny w schowku poza Vimem.

Innymi słowy, OSX traktuje to tak, jakby to było zwykłe okno, i tu właśnie przydaje się mocno złośliwy przycisk Apple „Command”.

B-30


1
Dotyczy to również każdego na wpół przyzwoitego emulatora terminala w dowolnym innym systemie operacyjnym. Apple nie ma tu żadnej przewagi.
— underscore_d

1

W oparciu o odpowiedź @ lis2 używam prostszej konfiguracji, która nie wymusi trybu wstawiania na końcu:

" Copy and paste
if has('clipboard') && !has('gui_running')
  vnoremap <C-c> "+y
  vnoremap <C-x> "+d
  vnoremap <C-v> "+p
  inoremap <C-v> <C-r><C-o>+
endif

Pamiętaj, że wszystkie te zastępują domyślne mapowania Vima:

  • v_CTRL-C: zatrzymanie trybu wizualnego
  • v_CTRL-X: odejmij [liczba] od liczby
  • v_CTRL-V: blokowy tryb wizualny
  • i_CTRL-V: wstaw następny niecyfrowy dosłownie, do którego również jest mapowany i_CTRL-Q

Jako alternatywę, można użyć przycisków inspirowane w „yank”, „Delete” i „put” vim czasowników <C-y>, <C-d>i <C-p>odpowiednio. Zastąpiłyby one tylko jedno domyślne mapowanie:

  • i_CTRL-P: słowo kluczowe wyszukiwania do tyłu dla zakończenia

1

Inne rozwiązania są dobre, jeśli chcesz zmienić vimrc itp. Jednak chciałem prosty sposób kopiowania z vima na klawiaturę systemową. Właśnie to wymyśliłem.

  • Wybierz tekst, który chcesz skopiować w trybie wizualnym v
  • Naciśnij :(zostanie automatycznie rozwinięty, aby pokazać:'<,'> )
  • Wpisz y * lub y + (w zależności od systemu), aby przeciągnąć zaznaczony tekst do schowka systemowego


1

Ponieważ vim 8 prawym przyciskiem myszy domyślnie włącza tryb wizualny. Zapobiega to „normalnemu” kopiowaniu i wklejaniu (nazwij to „defektem według projektu” https://github.com/vim/vim/issues/1326 ). Napraw to, wykonując:

echo "set mouse-=a" >> ~/.vimrc .

Zamknij i uruchom ponownie vima.


1

Z Vimem 8+ na Linuksie lub Macu, możesz teraz po prostu użyć natywnej pasty systemu operacyjnego ( ctrl+shift+Vna Linuxie, cmd+Vna Macu). Nie naciskaj, iaby przejść do trybu wstawiania.

Wklei zawartość schowka systemu operacyjnego, zachowując spacje i tabulatory bez dodawania automatycznego wcięcia. Jest to odpowiednik starego :set paste, i, ctrl+shift+V, esc, :set nopastemetody.

Nie potrzebujesz nawet zainstalowanych funkcji +clipboardlub +xterm_clipboardvim. Ta funkcja nosi nazwę „wklejania w nawiasach”. Aby uzyskać więcej informacji, zobacz Wyłączanie automatycznego wcięcia podczas wklejania tekstu do vima


0

Kiedy używam mojego Debiana vim, który nie jest zintegrowany z Gnome (vim --version | grep clip # pokazuje brak obsługi schowka), mogę skopiować do schowka po przytrzymaniu klawisza Shift i zaznaczeniu tekstu myszką, tak jak w przypadku każdego innego inny program przekleństw. Jak zauważyłem na podstawie komentarza @Conner, to terminal (w moim przypadku gnome-terminal) wyłącza raportowanie zdarzeń myszy, gdy wyczuje moje naciśnięcie klawisza Shift. Sądzę, że programy oparte na klątwach mogą odbierać zdarzenia myszy po wysłaniu określonej sekwencji Escape do terminala.


1
To używa twojego terminala, a nie vima.
— Conner,

0

Jeśli korzystasz z systemu Windows i chcesz wkleić zawartość schowka systemowego, użyj ptego polecenia.

:set clipboard = unnamed

To rozwiązało mój problem.


0

Istnieją dwa proste sposoby, aby to zrobić. Ustaw plik w trybie wstawiania i 1) naciśnij środkowy przycisk (kółko przewijania) w myszy lub 2) Ctrl + Shift + V


0

W przypadku niektórych klawiatur międzynarodowych konieczne może być naciśnięcie "+, Spaceaby uzyskać ".

W takim przypadku należy nacisnąć "Space+ylub "Space*yskopiować.

I "Space+plub " Space*pwkleić.


0

Użyłem odpowiedzi NM Pennypacker i zainstalowałem vima przez homebrew na początku 2011 MacBook Pro:

brew install vim

Teraz mogę również użyć rejestru „* do kopiowania i wklejania tekstu w vimie. Nie musiałem nawet zmieniać czegoś w moim pliku ~ / .vimrc ani w $ PATH. Homebrew dodał dowiązania symboliczne w / usr / local / bin, np. vim -> ../Cellar/vim/8.1.2350/bin/vim.

Alternatywą, która działała wcześniej, jest skopiowanie niektórych wierszy tekstu w vimie poprzez zaznaczenie go myszką i użycie kopiowania i wklejania (cmd + c, cmd + v) na komputerze Mac. Ta opcja działa tylko wtedy, gdy tekst, który chcesz skopiować i wkleić, jest mniejszy niż rozmiar okna vima. Jeśli chcesz skopiować cały tekst w vimie, zaznaczając całe okno lub używając cmd + a, spowoduje to skopiowanie innych części konsoli napisanych przed uruchomieniem vima, co jest bardzo denerwujące.

Cieszę się, że znalazłem nową metodę przy użyciu rejestru schowka.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.