Copy-paste for vim ei toimi, kun hiiri (: set mouse = a) on päällä?

Yritin kopioida jotain VIM-tiedostosta toiseen sovellukseen ja myös sovelluksesta vim käyttäen Napsauta hiiren kakkospainikkeella ja kopioi ja liitä (tai Ctrl + v ja Ctrl + c ja yritä myös Command -versio tietenkin Mac OSX: lle.). Kun yritän tehdä sen, se kopioi ensimmäisen sanan vasta, kun teen sen kohdasta vim tai kun kopioin sovelluksesta vim, se kopioi kaiken, mutta lisää outoja välilehtiä ja välilyöntejä. Luulen, että tämä tapahtui, kun päätin asettaa hiireni päälle terminaalissa. Kuten:

:set mouse=a 

Minulla on tämä rivi .vimrc -tiedostossani iTermissä (mac os x). Voidaanko kopioida liittääni muihin sovelluksiin, jotka eivät ole vim -palvelussa, jotta en pääse katkaisemaan mouse=a -toimintoa? Vai onko ainakin mahdollista asettaa hiiri pois päältä kopioinnin aikana? Tein :help hiiren, mutta kommentit eivät olleet hyödyllisiä minulle. Liittäisin ne tänne, mutta … kopiointiliimani on rikki!

Yritin kokeilla :set mouse! ja :set mouse=a! mutta nämä eivät tehneet mitään hyödyllistä … 🙁


Lisätietoja ympäristöstäni:

Käytän myös tmuxia suurimman osan ajasta, vaikka testasin tämän virheen / bug ilman tmux-istuntoa, siksi lähetin tämän pääasiassa vim-kysymykseen.

Kommentit

  • Voin kertoa teille, että vim pystyy nykimään Ensisijaiseen Valintaan hienosti käyttämällä versiä y. En tiedä ’ en tiedä miksi et käytä ’ t vain sitä.
  • En tekisi ’ sitä, koska en ’ en tiedä miten se tehdään. Pyydän anteeksi epäpätevyyteni. En tiennyt ’ edes olemassaolevaa, ennen kuin mainitsit sen. Jaa tieto! 🙂
  • Onko tämä macvim ?
  • ei, se ei ole vain sen iTerm (kuten mainitsin kysymyksessä, mutta hyvä kysymys kuitenkin).
  • @Pinocchio – vilkaise tätä: Kuinka tehdä vim-liitos (ja kopioida) järjestelmän ’ leikepöydälle? .

Vastaa

mouse=a estää kopioimisen ja liittämisen vimistä luettavilla merkeillä.

Muuta mouse=amouse=r, ja tämän pitäisi korjata ongelma.

Yksi asia, mietin, on, vaihdatko vim: n asetustiedoston hiirellä, joka on asetettu hiiri = a?

orignal vastaus ^

Jos mouse=r ei anna sinulle kaikkia aikaisempia kopiointivaihtoehtoja, muuta se muotoon mouse=v

Molemmat mouse=r ja mouse=v on samat toiminnot kuin mitä tarvitset, mutta käyttämäsi vimrc: stä riippuen se toimii paremmin kuin toinen.

Kommentit

  • oletko myös yrittänyt korostaa tekstiä ja käyttää hiiren keskipainiketta siirtyäksesi toiseen paikkaan. Joka pyrkii toimimaan paremmin, kun tryng Ctrl + v ja Ctrl + c
  • En tiedä ’ en tiedä mitä kysymyksesi tarkoittaa: one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a? Tarkoitatko jos minulla on :mouse=a päällä .vimrc-tiedostossa? Minulla on :mouse=a .vimrc-tiedostossa.
  • vain --with-x=yes? Minun ei tarvitse laittaa :set --with-x=yes mouse=a tai jotain ? Voisitteko selventää, mitä tarkoitat?
  • Anna minun tutkia, onko sinun yhdistettävä --with-x=yes ja set mouse=a. Kun luin sitä, kaikki mitä näin, oli se itse konfigurointitiedostossa. Mutta se voi olla erilainen, joten haluan varmistaa, että kerron sinulle oikean asian, joka toimii sinulle.
  • Paljon kiitoksia, tämä ehdotus toimii kuin viehätys hiirellä = v

vastaus

OS X -käyttäjille: Jos haluat kopioida liittämisen mouse=a -toiminnolla, käytä alt Vaihto : n sijaan tekstin valitsemiseksi. Sitten cmd-c ja cmd-v toimivat odotetulla tavalla.

Löysit tämän vastauksen täältä https://stackoverflow.com/a/4608387/671639 paljon Googlen hakemisen jälkeen.

Kommentit

  • Sinä olet Jumala … …: ’)
  • ainoa asia, joka toimi minulle, kiitos!
  • Minulle OSX: ssä toimii ” fn ” ” shift ” tai ” alt ”.
  • Asetus mouse=v toimi minulle suoralla cmd + c

Vastaa

Lähettäjä https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387

Paina ”shift” -näppäintä valitessasi hiirellä. Tämä saa hiiren valinnan toimimaan ikään kuin hiiri = a ei olisi ollut käytössä.

Tämä toimii, ja pinon ylivuotoa tarkastavat käyttäjät ovat vahvistaneet tämän vastauksena 🙂

vastaus

Oli sama ongelma: ei voinut korostaa hiirtä, joten ei voinut kopioida ja liittää pääteistunnon VIM: stä Windows-asiakirjaan ja selaimeen: seuraava ja se toimii nyt:

: set clipboard=unnamedplus : set mouse=r 

Vastaa

Bharathin ratkaisu , joka painaa Vaihto kopioinnin aikana, tekee sen, mutta se kopioi enemmän kuin mitä haluat kopioida numerointitapauksessa tai hash -kommentteja.

Yksi tapa tehdä se jopa mouse = a kanssa on käyttää visuaalista tilaa painamalla V yksittäistä kohdistinta varten tai Vaihto + V täyden rivin korostusta varten. Voit siirtyä ylös tai alas nuolilla ja käyttää Y kopioida tai D leikata ja th at pitäisi toimia.

Kommentit

  • @Anthon, tekee, kiitos selvennyksestä.
  • muotoilin itsesi uudelleen lausuttu kommentti, jotta se olisi enemmän kuin vastaus, jolloin modit todennäköisesti jättävät sen sellaisenaan (ja saatat saada siitä jonkin maineen, jotta voit kommentoida). Jos alkuperäinen olisi ollut pienempi korjaus, kommentointi olisi ollut tarkoituksenmukaisempaa.

Vastaa

Viite: http://vimdoc.sourceforge.net/htmldoc/options.html

Katso huomautusosaa viitteen alaosasta:
Milloin sallien hiiren, hiiren painikkeita voidaan silti käyttää pitämällä vaihtonäppäintä painettuna. Tähän sisältyy kopiointi hiiren painikkeilla.

*"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. 

Kommentit

  • Kiitos, että lisäsit viitteen, mutta , vastaako se kysymykseen ? Jos näin on, pystytkö tunnistamaan lainauksen sen osan, joka esittää yhteenvedon todellisesta vastauksesta?

Vastaus

Mac-tietokoneellani auttoivat nuo kaksi asiaa:

  • : aseta hiiri = = a
  • fn + napsauta (shift tai alt sijasta)

Vastaa

Käytä näitä kahta riviä ~/.vimrc -sivulla gui-mouse kaikki hienot ominaisuudet ja liitä järjestelmän leikepöydälle y (jenkkiavain) -toiminnolla, jos et todellakaan tarvitse muita leikepöydän puskureita :

set mouse=a set clipboard=unnamed 

vastaus

Voit käyttää y kopioida (jenkki) ja p liittää jopa :set mouse=a -asetuksen ollessa asetettuna ~/.vimrc. Käytä Korosta teksti v + arrow keys. Jos haluat kopioida koko rivin nopeasti, käytä shift + y .

Vastaa

As f tai kysymyksesi toisen osan, jossa määritit, että kun lisäät muita sovelluksia VIM: ään, se lisää välilehtiä / välilyöntejä. Yritä lisätä tämä ~ / .vimrc-asetuspastaa tai vim-tiedostoon ennen liittämistä normaalitilassa, paina ”shift” + ”:” ja kirjoita ”set paste”

Vastaa

Kaksi lisättävää asiaa:

  1. Ole tietoinen monta kertaa set mouse=v ei toimi odotetulla tavalla riippuen muut direktiivit, jotka olet asettanut ennen tai jälkeen .vimrc -tiedostoon, riippuu myös siitä, mistä päätelaitteesta käytät vimiä;
  2. suosittelen pitämään mouse=a joten kaikki hiiritilat ovat käytössä samanaikaisesti ja korosta teksti @BHS: n ehdolla ja paina samalla Shift-näppäintä, kun sinun on liitettävä korostettu teksti keskihiirellä -painike ( tekstin kopiointi Vimin ulkopuolelle set mouse=a käytössä ).

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *