Ik probeerde iets van vim naar een andere applicatie te kopiëren en ook, van die applicatie naar vim
met klik met de rechtermuisknop met de muis en kopieer en plak (of met Ctrl + v en Ctrl + c en probeerde ook de Command -versie voor mac OSX, uiteraard.). Als ik het echter probeer te doen, wordt alleen het eerste woord gekopieerd als ik het doe van vim
of wanneer ik vanuit de toepassing kopieer naar vim
, het kopieert alles, maar voegt vreemde tabbladen en spaties in. Ik denk dat dit gebeurde toen ik besloot mijn muis in de terminal aan te zetten. Zoals in:
:set mouse=a
Ik heb die regel op mijn .vimrc
bestand op iTerm (mac os x). Is het echter mogelijk om mijn kopie te laten plakken met andere applicaties die niet in vim
staan om niet te breken met de mouse=a
aan? Of is het in ieder geval mogelijk om mijn muis uit te zetten terwijl ik kopieer en plak? Ik heb de muis :help
gebruikt, maar de opmerkingen waren niet nuttig voor mij. Ik zou ze hier plakken, maar … mijn kopieer-plak-tool is kapot!
Ik heb :set mouse!
en :set mouse=a!
maar deze deden niets nuttigs … 🙁
Aanvullende informatie over mijn omgeving:
Ik gebruik ook meestal tmux, hoewel ik deze fout heb getest / bug zonder een tmux-sessie, daarom heb ik dit voornamelijk als een vim-vraag gepost.
Reacties
Antwoord
mouse=a
voorkomt het kopiëren en plakken uit vim met leesbare karakters.
Verander mouse=a
naar mouse=r
en dat zou uw probleem hiermee moeten oplossen.
Een ding dat ik me afvraag is: verander je het configuratiebestand voor je vim met de muis ingesteld op mouse = a?
origneel antwoord ^
Als mouse=r
geeft je niet alle opties voor kopiëren uit het verleden, verander het in mouse=v
Beide mouse=r
en mouse=v
hebben dezelfde functies die je nodig hebt, maar afhankelijk van de vimrc die je gebruikt, zal de ene beter werken dan de andere.
Opmerkingen
- heb je ook geprobeerd de tekst te markeren en de middelste muisknop te gebruiken om naar een andere plaats te plakken. Dat werkt meestal beter als je Ctrl + v en Ctrl probeert + c
- Ik ‘ weet niet wat uw vraag betekent:
one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?
Je bedoelt of ik:mouse=a
aan in mijn .vimrc-bestand? Ik heb:mouse=a
in mijn .vimrc-bestand. - alleen
--with-x=yes
? Ik hoef:set --with-x=yes mouse=a
of zoiets niet te plaatsen ing? Kun je verduidelijken wat je bedoelt? - Laat me onderzoeken of je
--with-x=yes
moet combineren metset mouse=a
. Toen ik het las, zag ik alleen dat het op zichzelf in het configuratiebestand stond. Maar het kan anders zijn, dus ik wil er zeker van zijn dat ik je het juiste vertel dat voor je werkt. - Heel erg bedankt, deze suggestie werkt als een charme met mouse = v
Answer
Voor OS X-gebruikers: om te kopiëren en plakken met mouse=a
gebruik alt in plaats van Shift om de tekst te selecteren. Vervolgens werken cmd-c en cmd-v zoals verwacht.
Ik heb dit antwoord hier gevonden https://stackoverflow.com/a/4608387/671639 na veel googlen.
Reacties
- Jij bent God … …: ‘)
- het enige dat voor mij werkte, bedankt!
- Voor mij op OSX werkt ” fn ” in plaats van ” shift ” of ” alt “.
- Instelling
mouse=v
werkte voor mij met rechtecmd + c
Antwoord
Van https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387
Druk op de “shift” -toets terwijl u met de muis selecteert. Hierdoor gedraagt muisselectie zich alsof mouse = a niet was ingeschakeld.
Dit werkt en is geverifieerd door beoordelaars van stack-overflow die dit als antwoord hebben geaccepteerd 🙂
Antwoord
Had hetzelfde probleem: kon niet markeren met de muis, dus kon niet kopiëren en plakken vanuit VIM in een terminalsessie naar Windows-document en browser: volgende en het werkt nu:
: set clipboard=unnamedplus : set mouse=r
Antwoord
Bharaths oplossing , op Shift drukken tijdens het kopiëren, zal het doen, maar het zal meer kopiëren dan wat je zou willen kopiëren in het geval van nummering of hash-opmerkingen.
Een manier om dit zelfs te doen met mouse = a is de visuele modus te gebruiken door door op V te drukken voor een enkele cursor of Shift + V voor het markeren van een volledige regel, en u kunt omhoog of omlaag gaan met pijlen en Y gebruiken om te kopiëren of D om te knippen en th zou moeten werken.
Opmerkingen
- @Anthon, ik zal het doen, bedankt voor de verduidelijking.
- Ik heb je zelf opnieuw geformuleerd uitgesproken commentaar om het meer als een antwoord te maken, op die manier zullen de mods het waarschijnlijk laten zoals het is (en je zou er wat reputatie mee kunnen krijgen zodat je commentaar kunt geven). Als het origineel een kleinere correctie was geweest, zou commentaar geschikter zijn geweest.
Antwoord
Verwijs: http://vimdoc.sourceforge.net/htmldoc/options.html
Kijk naar de sectie Opmerking onder aan de referentie:
Wanneer Door de muis in te schakelen, kunnen de muisknoppen nog steeds worden gebruikt door de shift-toets ingedrukt te houden. Dit omvat kopiëren en plakken met behulp van muisknoppen.
*"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.
Reacties
- Bedankt voor het bijdragen aan die referentie, maar , beantwoordt het de vraag ? Zo ja, kunt u het deel van het citaat identificeren dat dit doet, door een samenvatting van het daadwerkelijke antwoord te geven?
Antwoord
Op mijn Mac hielpen deze twee dingen:
- : set mouse- = a
- fn + klik (in plaats van shift of alt)
Antwoord
Gebruik deze twee regels hieronder in uw ~/.vimrc
om te gebruiken alle leuke functies van een gui-mouse
en plak ze in het systeemklembord met y
(yank-toets) als je niet echt extra klembordbuffers nodig hebt :
set mouse=a set clipboard=unnamed
Antwoord
U kunt y om te kopiëren (yank) en p om te plakken, zelfs met :set mouse=a
ingesteld in ~/.vimrc
. Gebruik v + arrow keys
om de tekst te markeren. Gebruik shift + y om snel een hele regel te kopiëren. / p>
Antwoord
Zoals f of het tweede deel van uw vraag waarin u specificeerde dat bij het plakken vanuit andere applicaties naar vim het tabs / spaties toevoegt. Probeer dit toe te voegen aan je ~ / .vimrc set paste of in vim voordat je plakt in de normale modus, druk op “shift” + “:” en typ “set paste”
Answer
Twee dingen om toe te voegen:
- Houd er rekening mee dat
set mouse=v
vaak niet werkt zoals verwacht, afhankelijk van de andere richtlijnen die je voor of na hebt ingesteld in je.vimrc
-bestand, het hangt er ook van af van welke terminal je vim gebruikt; - Ik zou aanraden om
mouse=a
zodat je alle muismodi tegelijkertijd hebt ingeschakeld en de truc van @BHS gebruikt om tekst te markeren terwijl je op de Shift-toets drukt wanneer je de gemarkeerde tekst met de middelste muis moet plakken knop ( Tekst buiten Vim kopiëren metset mouse=a
ingeschakeld ).
vim
kan prima naar de primaire selectie trekken met hety
werkwoord. Ik weet niet ‘ waarom zou je dat niet ‘ gebruiken.