Próbowałem skopiować coś wklejonego z Vima do innej aplikacji, a także z tej aplikacji do vim
używając kliknij prawym przyciskiem myszy, a następnie skopiuj i wklej (lub za pomocą Ctrl + v i Ctrl + c i również próbował oczywiście wersja Command dla systemu Mac OSX). Jednak gdy próbuję to zrobić, kopiuje tylko pierwsze słowo, gdy robię to z vim
lub gdy kopiuję z aplikacji do vim
, kopiuje wszystko, ale wstawia dziwne tabulatory i spacje. Myślę, że stało się to, gdy zdecydowałem się włączyć mysz w terminalu. Na przykład:
:set mouse=a
Mam tę linię w moim pliku .vimrc
na iTerm (mac os x). Czy jest jednak możliwe, aby moja kopia wklejona była w innych aplikacjach, których nie ma w vim
, aby nie przerywać działania z włączonym mouse=a
? A może przynajmniej można wyłączyć mysz podczas kopiowania i wklejania? Zrobiłem :help
myszką, ale komentarze nie były dla mnie przydatne. Wklejałbym je tutaj, ale … moje narzędzie kopiowania wklejania jest zepsute!
Próbowałem :set mouse!
i :set mouse=a!
ale te nie dały nic użytecznego … 🙁
Dodatkowe informacje o moim środowisku:
Używam też tmux przez większość czasu, chociaż testowałem ten błąd / błąd bez sesji tmux, dlatego opublikowałem to głównie jako pytanie vima.
Komentarze
Odpowiedź
mouse=a
uniemożliwia kopiowanie i wklejanie z vima z czytelnymi znakami.
Zmień do mouse=r
i to powinno rozwiązać Twój problem.
Zastanawiam się tylko, czy zmieniasz plik konfiguracyjny dla swojego vima z myszą ustawioną na mouse = a?
oryginalna odpowiedź ^
Jeśli mouse=r
nie daje wszystkich opcji kopiowania z przeszłości, zmienia je na mouse=v
Oba mouse=r
i mouse=v
mają te same funkcje, których potrzebujesz, ale w zależności od używanego vimrc, jedna będzie działać lepiej niż druga.
Komentarze
- próbowałeś także podświetlić tekst i użyć środkowego przycisku myszy, aby przejść w inne miejsce. To zwykle działa lepiej, gdy spróbujesz użyć Ctrl + V i Ctrl + c
- Nie ' nie wiem, co oznacza Twoje pytanie:
one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?
Masz na myśli, jeśli mam:mouse=a
w moim pliku .vimrc? Mam:mouse=a
w moim pliku .vimrc. - tylko
--with-x=yes
? Nie muszę wstawiać:set --with-x=yes mouse=a
ani czegoś takiego ing? Czy mógłbyś wyjaśnić, co masz na myśli? - Pozwól, że zbadam, czy musisz połączyć
--with-x=yes
zset mouse=a
. Kiedy czytałem o tym, wszystko, co zobaczyłem, było to, że było samo w pliku konfiguracyjnym. Ale może być inaczej, więc chcę się upewnić, że powiem ci właściwą rzecz, która będzie dla ciebie odpowiednia. - Wielkie dzięki, ta sugestia działa jak urok z myszką = v
Odpowiedź
Dla użytkowników OS X: Aby skopiować wklej za pomocą mouse=a
, użyj alt zamiast Shift , aby zaznaczyć tekst. Następnie cmd-c i cmd-v działają zgodnie z oczekiwaniami.
Odpowiedź znajdziesz tutaj https://stackoverflow.com/a/4608387/671639 po wielu googlach.
Komentarze
- Jesteś Bogiem … …: ')
- jedyna rzecz, która działała dla mnie, dzięki!
- U mnie działa na OSX ” fn ” zamiast ” shift ” lub ” alt „.
- Ustawienie
mouse=v
działało dla mnie z prostymcmd + c
Odpowiedź
Od https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387
Naciśnij klawisz „Shift” podczas zaznaczania myszą. Spowoduje to, że wybór myszy będzie zachowywał się tak, jakby mouse = a nie była włączona.
To działa i zostało zweryfikowane przez recenzentów przepełnienia stosu, którzy zaakceptowali to jako odpowiedź 🙂
Odpowiedź
Wystąpił ten sam problem: nie można podświetlić za pomocą myszy, więc nie można skopiować i wkleić z VIM w sesji terminala do dokumentu i przeglądarki Windows: Czy następujący i teraz działa:
: set clipboard=unnamedplus : set mouse=r
Odpowiedź
rozwiązanie Bharatha , naciskając Shift podczas kopiowania, zrobi to, ale skopiuje więcej niż to, co chciałbyś skopiować w przypadku numeracji lub hash komentarzy.
Jednym ze sposobów, aby to zrobić, nawet z mouse = a , jest użycie trybu wizualnego przez naciśnięcie V dla pojedynczego kursora lub Shift + V dla podświetlenia całej linii i możesz poruszać się w górę lub w dół za pomocą strzałek i używać Y do skopiowania lub D do wycięcia i th w powinno działać.
Komentarze
- @Anthon, Will do, Dzięki za wyjaśnienie.
- Przeformułowałem twoje zdanie- wymówiony komentarz, aby bardziej przypominał odpowiedź, w ten sposób mody prawdopodobnie pozostawią ją tak, jak jest (i możesz zyskać na nim reputację, aby móc komentować). Gdyby oryginał był mniejszą poprawką, komentarz byłby bardziej odpowiedni.
Odpowiedź
Patrz: http://vimdoc.sourceforge.net/htmldoc/options.html
Zapoznaj się z sekcją Uwagi na dole odniesienia:
Kiedy po włączeniu myszy przyciski myszy mogą być nadal używane przez przytrzymanie klawisza Shift. Obejmuje to kopiowanie i wklejanie za pomocą przycisków myszy.
*"mouse"* *E538* "mouse" string (default "", "a" for GUI, MS-DOS and Win32) global {not in Vi} Enable the use of the mouse. Only works for certain terminals (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with sysmouse and Linux console with gpm). For using the mouse in the GUI, see |gui-mouse|. The mouse can be enabled for different modes: n Normal mode v Visual mode i Insert mode c Command-line mode h all previous modes when editing a help file a all previous modes r for |hit-enter| and |more-prompt| prompt Normally you would enable the mouse in all four modes with: :set mouse=a When the mouse is not enabled, the GUI will still use the mouse for modeless selection. This doesn"t move the text cursor. See |mouse-using|. Also see |"clipboard"|. Note: When enabling the mouse in a terminal, copy/paste will use the "* register if there is access to an X-server. The xterm handling of the mouse buttons can still be used by keeping the shift key pressed. Also see the "clipboard" option.
Komentarze
- Dziękujemy za przesłanie tego odniesienia, ale , czy odpowiada na pytanie ? Jeśli tak, czy możesz zidentyfikować część cytatu, która to robi, przedstawiając podsumowanie rzeczywistej odpowiedzi?
Odpowiedź
Na moim Macu pomogły te dwie rzeczy:
- : set mouse- = a
- fn + click (zamiast shift lub alt)
Odpowiedź
Użyj tych dwóch wierszy poniżej w swoim ~/.vimrc
do użycia wszystkie fajne funkcje gui-mouse
i wklej do schowka systemowego za pomocą y
(klawisz Yank), jeśli naprawdę nie potrzebujesz dodatkowych buforów schowka :
set mouse=a set clipboard=unnamed
Odpowiedź
Możesz użyć y do kopiowania (yank) i p do wklejania nawet z :set mouse=a
ustawionym w ~/.vimrc
. Użyj v + arrow keys
, aby podświetlić tekst. Aby szybko skopiować całą linię, użyj shift + y .
Odpowiedź
Jak f lub druga część twojego pytania, w której określiłeś, że podczas wklejania z innych aplikacji do vima dodaje tabulatory / spacje. Spróbuj dodać to do swojego zestawu ~ / .vimrc wklej lub w vimie przed wklejeniem w trybie normalnym naciśnij „shift” + „:” i wpisz „set paste”
Odpowiedz
Dwie rzeczy do dodania:
- Pamiętaj, że wiele razy
set mouse=v
nie będzie działać zgodnie z oczekiwaniami w zależności od inne dyrektywy, które ustawiłeś przed lub po w pliku.vimrc
, zależy to również od terminala, z którego uruchamiasz vima; - Zalecałbym pozostawienie
mouse=a
, więc masz włączony cały tryb myszy w tym samym czasie i użyj sztuczki zaproponowanej przez @BHS, aby podświetlić tekst, naciskając klawisz Shift, gdy musisz wkleić podświetlony tekst środkową myszą button ( Kopiowanie tekstu poza Vima z włączonymset mouse=a
).
y
. Nie ' nie wiem dlaczego nie ' po prostu tego użyjesz.