Jeg prøver å kopiere og lime inn litt tekst fra vim. Jeg gjør v for å gå inn i visuell modus, deretter y når jeg valgte blokken min.

Det ser ut til å kopiere teksten til utklippstavlen til vim, fordi p vil lime den inn. Men i et annet program (f.eks. Chrome), limer du ikke inn riktig tekst med høyreklikk-> lim inn. Hvordan kopierer jeg tekst til riktig utklippstavle?

Svar

Følgende fungerer bare hvis vim --version indikerer at du har +xterm_clipboard -funksjon. Hvis ikke, må du installere ekstra pakker eller kompilere vim med den funksjonen lagt til.


Det er faktisk to alternativer for dette:

"+y 

kopier til den «vanlige» utklippstavlebufferen (slik at du kan lime inn ved hjelp av Ctrl + V, høyreklikk og velg «Lim inn» osv.), mens

"*y 

kopier til X11-utvalget – du kan lime inn fra denne bufferen ved hjelp av midtklikk.

Merk at "* og "+ jobbe begge veier. Så hvis du har valgt litt tekst i et annet program, kan du lime den inn i vim ved hjelp av "*p, og hvis du har kopiert tekst (ved å si, si Ctrl-C), kan du lime inn det til vim ved hjelp av "+p.

Kommentarer

  • @Tshepang det fungerer ikke fra kitt. hva skal jeg gjøre?
  • @RahulPatil jeg vet ikke; kanskje still et eget spørsmål, kanskje på Superbruker (siden det ‘ er et Windows-verktøy, ville det være mer velkommen der).
  • @RahulPatil – hvis du bruker kitt, redigerer du filen på en ekstern server, ikke på din lokale maskin. Generelt vil den eksterne serveren ikke ‘ ikke vite om utklippstavlen på din lokale maskin. Hvis du brukte et Linux-skrivebord, kan du ssh med X-videresending (forutsatt at du har installert X-bibliotekene på serveren), men når kitt kjører på windows, har du ikke ‘ t har X kjører slik at du kan ‘ t videresende den.
  • Hei alle sammen, Hvordan skriver du » + y? skal jeg skrive den i visuell modus eller i kommandomodus? Dumme ting, men jeg klarer ikke å finne ut av det.
  • @AlindBillore: I kommandomodus. Trykk bokstavelig talt på tastene shift' og deretter shift= og deretter y (ikke alle samtidig, en etter den andre, bortsett fra skiftene selvfølgelig).

Svar

Hvis du bruker vim> = 7.3 .74, så kan du faktisk sette dette i vimrc:

set clipboard=unnamedplus 

Som automatisk bruker + bufferen (systemutklippstavlen) som standard. For å rykke (kopiere) bruker du bare den vanlige y kommandoen osv.

Jeg syntes denne oppførselen var ganske irriterende, men som kommandoer som d legg teksten de opererer med i standardbufferen, noe som betydde at jeg ikke kunne gjøre en rask dd og lime inn en linje fra internett , for eksempel.

Kommentarer

  • + er en utklippstavleregistrering
  • Angående ditt siste punkt, dd betyr » kutt en linje «, slik at det er forventet oppførsel. I sjeldne tilfeller når du vil for å faktisk slette en linje i glemmeboken, "_dd vil gjøre susen.
  • også som @HamishDowner bemerker i sitt svar: Følgende fungerer bare hvis vim --version indikerer at du har +xterm_clipboard -funksjon. Hvis ikke, må du installere ekstra pakker eller kompilere vim med den funksjonen lagt til.

Svar

Hold nede skiftet -tasten og velg tekst med musemarkøren.
Tekst kopieres til utklippstavlen.

Dette fungerer også for å lime inn fra utklippstavlen i til vim.

For å være tydelig fungerer dette for vim som kjører i en terminal som xterm.

Kommentarer

  • @LoopSpace for flerlinjevalg, dette vil også kopiere linjenumre også når set nu er aktivert . Så du vil sannsynligvis ønske å bytte linjenumre med en snarvei eller kjøre :set nonu -kommandoen før hvert valg
  • På MAC holder du nede valgtasten og velger tekst med musemarkør
  • Fungerer ikke ‘ for meg ved å bruke vim 8.0 + gnome-terminal
  • Løsning ikke kompatibel med flervislige termer som tmux. / li>
  • Dette kopieres ikke til utklippstavlen, dette kopieres til det primære .Se skillet i Wiki-artikkelen på utklippstavlen Arch .

Svar

Jeg finner standard "+gP og "+y kommandoer veldig vanskelig å bruke. Så jeg har kartlagt Ctrl-Y for å ha kastet meg ut i utklippstavlen og Ctrl-P for å lime inn fra utklippstavlen. Legg dette til .vimrc

nnoremap <C-y> "+y vnoremap <C-y> "+y nnoremap <C-p> "+gP vnoremap <C-p> "+gP 

Svar

Da jeg sjekket min vim støttet ikke utklippstavlen:

vim --version | grep clip -clipboard +insert_expand +path_extra +user_commands +emacs_tags -mouseshape +startuptime -xterm_clipboard 

Jeg installerte vim-gnome og sjekket deretter igjen

vim --version | grep clipboard +clipboard +insert_expand +path_extra +user_commands +emacs_tags +mouseshape +startuptime +xterm_clipboard 

Nå kan jeg kopiere og lime inn med henholdsvis «+ y og» + p.

Svar

Husk det, Jeg fant svaret – det står skrevet på vim-menyene.

"+y 

Veldig intuitivt.

Kommentarer

  • Bruker du gvim?
  • @ nozimica- ja
  • At ‘ er også tilgjengelig i vim som kjører i en xterm eller lignende terminalemulator under X (hvis vim er kompilert med +xterm_clipboard -funksjonen).

Svar

Bare for å legge til et ikke-vim-spesifikt svar: Du kan bruke Ctrl+Shift+C for å kopiere til systemutklippstavlen i Ubuntu (hvis funksjonaliteten er levert av terminalemulatoren din, gnome-terminal for en gir den). Ctrl+Shift+V limes inn i et annet terminalvindu, vanlig Ctrl+V limes inn i en GUI-app.

I tillegg, hvis du velger tekst i terminalen, og deretter midtklikker den, den limes inn fra X11 utklippstavlen.

Kommentarer

  • Av en eller annen grunn ‘ t fungerer. Bare velg med visuell modus, kopier med ctrl-shift-C, og lim deretter inn i en annen app ved hjelp av Ctrl-shift-V? Teksten ‘ blir ikke kopiert for meg.
  • @ ripper234: dette fungerer ikke hvis du bruker gvim. Som crazy2be sa, er denne funksjonaliteten fra terminalemulatoren din.
  • @ ripper234: 1) Det er funksjonalitet som leveres av terminalemulatoren din (gnome-terminal for en som gir den), 2) Ctrl + Shift + V er For å lime til terminalen , bruker GUI-apper fortsatt Ctrl + V som vanlig. Jeg ‘ Jeg redigerer svaret for å gjøre det mer oversiktlig.
  • Hvis du bruker shift-control mousedrag – velg tekst, kopiering og liming fra et buffervindu blir enkelt.

Svar

Hold nede SKIFT-tasten og velg tekst for å kopiere den.

Lim deretter inn et annet program med CTRL + v.

Fungerer i terminal på min Ubuntu 16.04. Ikke sikker på gvim og andre systemer.

skriv inn bildebeskrivelse her

Kommentarer

  • Det fungerer ikke.
  • kreativt svar

Svar

Som standard, hvis du installerer lysversjonen av vim, vil du ikke ha +xterm_clipboard -funksjon på (vim --version | grep xterm), som er nødvendig for å bruke * og + registrerer utenfor vim.

For å aktivere det, må du enten kompilere vim selv, eller installere en versjon av vim som følger med den forhåndsaktivert. Jeg brukte vim-gnome: sudo apt-get install vim-gnome. Hvis du utfører vim --version | grep xterm, vil du se at det nå er +xterm_clipboard.

Prøv å kopiere til + og * og det skal fungere.

Svar

Bare for å legge til, hvis noe fungerer, prøv å bytte terminalen som pakker inn vim (hvis du bruker vim fra terminalen). Jeg fant ut at for eksempel utklippstavlen er utilgjengelig med guake mens den er tilgjengelig fra gnome-terminal.

Svar

For Ubuntu 14.04 Og over:

  • Bare velg teksten du vil kopiere. Og klikk deretter på den midterste rulleknappen med musen og gå til utklippstavlen

  • Og gjør det samme der også (klikk på midtknappen med musen).

Det fungerer 100% i begge vim og tail på Ubuntu.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *