Încercam să copiez lipiți ceva din vim într-o altă aplicație și, de asemenea, din acea aplicație în vim
folosind faceți clic dreapta cu mouse-ul și apoi copiați și lipiți (sau cu Ctrl + v și Ctrl + c și, de asemenea, a încercat versiunea Command pentru Mac OSX, evident.). Cu toate acestea, atunci când încerc să o fac, copiază primul cuvânt doar când îl fac de la vim
sau când copiez din aplicație la vim
, copiază totul, dar inserează file și spații ciudate. Cred că acest lucru s-a întâmplat când am decis să pun mouse-ul pe terminal. Ca și în:
:set mouse=a
Am acea linie pe fișierul meu .vimrc
de pe iTerm (mac os x). Totuși, este posibil să-mi fac copierea să lipească cu alte aplicații care nu sunt în vim
să nu se rupă cu mouse=a
activat? Sau este cel puțin posibil să opresc mouse-ul în timp ce fac copierea? Am făcut :help
mouse-ul, dar comentariile nu mi-au fost utile. Le-aș lipi aici, dar … instrumentul meu de copiere este rupt!
Am încercat :set mouse!
și :set mouse=a!
dar acestea nu au făcut nimic util … 🙁
Informații suplimentare despre mediul meu:
De asemenea, folosesc tmux de cele mai multe ori, totuși, am testat această eroare / bug fără o sesiune tmux, de aceea am postat acest lucru în principal ca o întrebare vim.
Comentarii
Răspuns
mouse=a
împiedică capacitatea de a copia și lipi din vim cu caractere lizibile.
Modificați la mouse=r
și asta ar trebui să vă rezolve problema.
un lucru mă întreb este: schimbați fișierul de configurare pentru vim cu mouse-ul setat la mouse = a?
răspuns original ^
Dacă mouse=r
nu vă oferă toate opțiunile de copiere din trecut, schimbați-le în mouse=v
Ambele mouse=r
și mouse=v
au aceleași funcții de care aveți nevoie, dar în funcție de vimrc pe care îl utilizați, unul va funcționa mai bine decât celălalt.
Comentarii
- ați încercat, de asemenea, să evidențiați textul și să folosiți butonul din mijloc al mouse-ului pentru a trece într-un alt loc. Care tinde să funcționeze mai bine când încercați la Ctrl + v și Ctrl + c
- Nu ‘ nu știu ce înseamnă întrebarea ta:
one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?
Vrei să spui dacă am:mouse=a
activat în fișierul meu .vimrc? Am:mouse=a
în fișierul meu .vimrc. - doar
--with-x=yes
? Nu trebuie să pun:set --with-x=yes mouse=a
sau ceva ing? Ați putea clarifica la ce vă referiți? - Permiteți-mi să cercetez dacă trebuie să combinați
--with-x=yes
cuset mouse=a
. Când citeam pe el tot ce am văzut a fost că era singur în fișierul de configurare. Dar ar putea fi diferit, așa că vreau să mă asigur că îți spun ceea ce trebuie să funcționeze pentru tine. - Mulțumesc mult, această sugestie funcționează ca un farmec cu mouse = v
Răspuns
Pentru utilizatorii OS X: Pentru a copia lipiți cu mouse=a
utilizați alt în loc de Shift pentru a selecta textul. Apoi, cmd-c și cmd-v funcționează conform așteptărilor.
Am găsit acest răspuns aici https://stackoverflow.com/a/4608387/671639 după o mulțime de căutări Google.
Comentarii
- Tu ești Dumnezeu … …: ‘)
- singurul lucru care a funcționat pentru mine, mulțumesc!
- Pentru mine funcționează OSX ” fn ” în loc de ” shift ” sau ” alt „.
- Setarea
mouse=v
a funcționat cu mine directcmd + c
Răspuns
De la https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387
Apăsați tasta „Shift” în timp ce selectați cu mouse-ul. Acest lucru va face ca selecția mouse-ului să se comporte ca și când mouse-ul = a nu ar fi fost activat.
Acest lucru funcționează și a fost verificat de către recenzorii care au acceptat acest lucru ca răspuns 🙂
Răspuns
A avut aceeași problemă: nu am putut evidenția folosind mouse-ul, așa că nu am putut copia și lipi din VIM într-o sesiune de terminal în documentul Windows și browser: urmează și acum funcționează:
: set clipboard=unnamedplus : set mouse=r
Răspuns
Soluția Bharath , apăsând pe Shift în timp ce copiați, o va face, dar va copia mai mult decât ceea ce doriți să copiați în cazul numerotării sau comentarii hash.
O modalitate de a face acest lucru chiar și cu mouse = a este utilizarea modului vizual de către apăsând V pentru un singur cursor sau Shift + V pentru evidențierea liniei complete și puteți să vă deplasați în sus sau în jos cu săgețile și să utilizați Y pentru a copia sau D pentru a tăia și a la ar trebui să funcționeze.
Comentarii
- @Anthon, Va da, Vă mulțumim pentru clarificare.
- Am reformulat comentariu pronunțat pentru a face mai mult ca un răspuns în felul în care modurile vor lăsa probabil așa cum este (și s-ar putea să câștigați o oarecare reputație asupra acestuia, astfel încât să puteți comenta). Dacă originalul ar fi fost o corecție mai minoră, comentariile ar fi fost mai potrivite.
Răspuns
Consultați: http://vimdoc.sourceforge.net/htmldoc/options.html
Consultați secțiunea Notă din partea de jos a referinței:
Când activând mouse-ul, butoanele mouse-ului pot fi utilizate în continuare ținând apăsată tasta Shift. Aceasta include copierea lipirii folosind butoanele mouse-ului.
*"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.
Comentarii
- Vă mulțumim că ați contribuit la această referință, dar , răspunde la întrebare ? Dacă da, puteți identifica partea citatului care face acest lucru, prezentând un rezumat al răspunsului real?
Răspuns
Pe Mac-ul meu, ceea ce a ajutat au fost aceste două lucruri:
- : set mouse- = a
- fn + clic (în loc de shift sau alt)
Răspuns
Utilizați aceste două rânduri de mai jos în ~/.vimrc
pentru a utiliza toate caracteristicile frumoase ale unui gui-mouse
și lipiți-le în clipboard-ul sistemului folosind y
(tasta yank) dacă nu aveți nevoie de tampoane de clipboard suplimentare :
set mouse=a set clipboard=unnamed
Răspuns
Puteți utiliza y pentru a copia (yank) și p pentru a lipi chiar și cu :set mouse=a
setat în ~/.vimrc
. Utilizați v + arrow keys
pentru a evidenția textul. Pentru a copia rapid o întreagă linie, utilizați shift + y .
Răspuns
Ca f sau a doua parte a întrebării dvs. în care ați specificat că, atunci când lipiți din alte aplicații în vim, adaugă file / spații. Încercați să adăugați acest lucru la ~ / .vimrc set paste sau în vim înainte de a lipi în modul normal apăsați „shift” + „:” și tastați „set paste”
Răspunde
Două lucruri de adăugat:
- Rețineți de multe ori că
set mouse=v
nu va funcționa așa cum era de așteptat, în funcție de alte directive pe care le-ați setat înainte sau după în fișierul.vimrc
, depinde și de la ce terminal executați vim; - Aș recomanda să păstrați
mouse=a
deci aveți activat tot modul mouse-ului în același timp și utilizați trucul propus de @BHS pentru a evidenția textul în timp ce apăsați tasta Shift când trebuie să lipiți textul evidențiat cu ajutorul mouse-ului din mijloc buton ( Copierea textului în afara Vim cuset mouse=a
activat ).
vim
este capabil să lanseze selecția primară foarte bine folosind verbuly
. Nu știu ‘ de ce nu ați ‘ pur și simplu folosiți acest lucru.