Copierea-lipirea pentru vim nu funcționează când mouse-ul (: set mouse = a) este activat?

Î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

  • Vă pot spune că vim este capabil să lanseze selecția primară foarte bine folosind verbul y. Nu știu ‘ de ce nu ați ‘ pur și simplu folosiți acest lucru.
  • Nu aș face ‘ aș face asta pentru că nu ‘ Nu știu cum să fac asta, cred, îmi cer scuze pentru incompetența mea. Nici nu știam că există până când nu l-ai menționat. cunoștințe! 🙂
  • Este acesta macvim ?
  • nu, nu este doar iTerm (așa cum am menționat la întrebare, dar întrebare bună).
  • @Pinocchio – aruncă o privire aici: Cum pentru a face vim paste din (și copiere în) sistem ‘ s clipboard? .

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 cu set 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 direct cmd + 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:

  1. 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;
  2. 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 cu set mouse=a activat ).

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *