Jeg prøvde å kopiere lim inn noe fra vim til et annet program, og også fra det programmet til vim
ved å bruke høyreklikk med musen, og kopier og lim inn (eller med Ctrl + v og Ctrl + c og prøvde også Kommando -versjonen for Mac OSX, tydeligvis.). Når jeg prøver å gjøre det, kopieres det bare det første ordet når jeg gjør det fra vim
eller når jeg kopierer fra applikasjonen til vim
, det kopierer alt, men setter inn rare faner og mellomrom. Jeg tror dette skjedde da jeg bestemte meg for å sette musen på terminalen. Som i:
:set mouse=a
Jeg har den linjen på .vimrc
-filen på iTerm (mac os x). Men er det mulig å lage kopien min med andre applikasjoner som ikke er i vim
for ikke å bryte med mouse=a
på? Eller er det i det minste mulig å slå av musen mens jeg kopierer? Jeg gjorde :help
musen, men kommentarene var ikke nyttige for meg. Jeg vil lime dem inn her, men … verktøyet for kopieringslim er ødelagt!
Jeg prøvde :set mouse!
og :set mouse=a!
men disse gjorde ingenting nyttig … 🙁
Tilleggsinformasjon om miljøet mitt:
Jeg bruker også tmux mesteparten av tiden, skjønt, jeg testet denne feilen / bug uten en tmux-økt, det er derfor jeg postet dette hovedsakelig som et vim-spørsmål.
Kommentarer
Svar
mouse=a
forhindrer muligheten for å kopiere og lime ut vim med lesbare tegn.
Endre mouse=a
til mouse=r
og det bør løse problemet ditt med det.
en ting jeg lurer på er, endrer du konfigurasjonsfilen for din vim med musesettet til mus = a?
originalt svar ^
Hvis mouse=r
gir deg ikke alle kopiene fra tidligere valg, og endre det til mouse=v
Begge mouse=r
og mouse=v
har de samme funksjonene du trenger, men avhengig av vimrc du bruker, fungerer den bedre enn den andre.
Kommentarer
- har du også prøvd å markere teksten og bruke museknappen til å passere inn på et annet sted. Som pleier å fungere bedre når du prøver Ctrl + v og Ctrl + c
- Jeg vet ikke ‘ Jeg vet ikke hva spørsmålet ditt betyr:
one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?
Du mener hvis jeg har:mouse=a
på i .vimrc-filen min? Jeg har:mouse=a
i .vimrc-filfilen min. - bare
--with-x=yes
? Jeg trenger ikke å sette:set --with-x=yes mouse=a
eller noe ing? Kan du avklare hva du mener? - La meg undersøke om du trenger å kombinere
--with-x=yes
tilset mouse=a
. Da jeg leste opp alt jeg så, var det av seg selv i konfigurasjonsfilen. Men det kan være annerledes, så jeg vil forsikre meg om at jeg forteller deg det rette som vil fungere for deg. - Tusen takk, dette forslaget fungerer som en sjarm med musen = v
Svar
For OS X-brukere: For å kopiere lim inn med mouse=a
bruk alt i stedet for Shift for å velge teksten. Så fungerer cmd-c og cmd-v som forventet.
Fant dette svaret her https://stackoverflow.com/a/4608387/671639 etter mye googling.
Kommentarer
- Du er Gud … …: ‘)
- det eneste som fungerte for meg, takk!
- For meg på OSX fungerer » fn » i stedet for » shift » eller » alt «.
- Innstillingen
mouse=v
fungerte for meg med rettcmd + c
Svar
Fra https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387
Trykk på «shift» -tasten mens du velger med musen. Dette får musevalg til å oppføre seg som om mus = a ikke var aktivert.
Dette fungerer og er bekreftet av korrekturlesere av stack-overflow som har godtatt dette som svar 🙂
Svar
Hadde det samme problemet: kunne ikke markere ved hjelp av musen, så kunne ikke kopiere og lime inn fra VIM i en terminaløkt til Windows-dokument og nettleser: Gjorde følgende, og det fungerer nå:
: set clipboard=unnamedplus : set mouse=r
Svar
Bharaths løsning , ved å trykke på Shift mens du kopierer, vil det gjøre, men det vil kopiere mer enn det du vil kopiere i tilfelle nummerering eller hash-kommentarer.
En måte å gjøre det selv med mus = a er å bruke visuell modus ved trykke på V for en enkelt markør eller Shift + V for å markere hele linjen, og du kan bevege deg opp eller ned med pilene og bruke Y for å kopiere eller D for å klippe og th at skal fungere.
Kommentarer
- @Anthon, Vil gjøre, takk for avklaringen.
- Jeg omformulerer deg selv- uttalt kommentar for å gjøre det mer som et svar på den måten modsene sannsynligvis vil la det være som det er (og du kan få noe rykte på det slik at du kan kommentere). Hvis originalen hadde vært en mindre korreksjon, ville kommentering vært mer passende.
Svar
Se: http://vimdoc.sourceforge.net/htmldoc/options.html
Se på delen Merk nederst i referansen:
Når for å aktivere musen, kan museknappene fortsatt brukes ved å holde Shift-tasten nede. Dette inkluderer kopieringslim med museknapper.
*"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.
Kommentarer
- Takk for at du bidro med referansen, men , svarer den på spørsmålet ? I så fall kan du identifisere den delen av sitatet som gjør det, og presentere et sammendrag av det faktiske svaret?
Svar
På min Mac, det som hjalp var de to tingene:
- : still mus- = a
- fn + klikk (i stedet for shift eller alt)
Svar
Bruk disse to linjene nedenfor i ~/.vimrc
alle fine funksjoner i et gui-mouse
og lim inn i systemutklippstavlen med y
(yank-tast) hvis du ikke trenger noen ekstra utklippstavlebuffere :
set mouse=a set clipboard=unnamed
Svar
Du kan bruke y for å kopiere (yank) og p for å lime inn selv med :set mouse=a
satt i ~/.vimrc
. Bruk v + arrow keys
for å markere teksten. For å kopiere en hel linje raskt, bruk shift + y .
Svar
Som f eller den andre delen av spørsmålet ditt hvor du spesifiserte at når du limer inn fra andre applikasjoner til vim, legger det til faner / mellomrom. Prøv å legge dette til ~ / .vimrc sett lim inn eller i vim før du limer inn i normal modus trykk «shift» + «:» og skriv «sett lim»
Svar
To ting å legge til:
- Vær oppmerksom mange ganger
set mouse=v
vil ikke fungere som forventet, avhengig av andre direktiver du har satt før eller etter i.vimrc
filen, det kommer også an på hvilken terminal du kjører vim fra; - Jeg vil anbefale å beholde
mouse=a
slik at du har aktivert all musemodus samtidig, og bruk trikset som er foreslått av @BHS for å markere tekst mens du trykker på Skift-tasten når du trenger å lime inn den uthevede teksten med den midterste musen knapp ( Kopiering av tekst utenfor Vim medset mouse=a
aktivert ).
vim
er i stand til å rykke til primærvalget helt fint ved hjelp avy
verbet. Jeg vet ikke ‘ hvorfor du ikke ville ‘ ikke bare bruke det.