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
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.
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.
shift'
og derettershift=
og derettery
(ikke alle samtidig, en etter den andre, bortsett fra skiftene selvfølgelig).