Încerc să copiez-lipesc un text din vim. Îl fac pe v pentru a intra în modul vizual, apoi y odată ce am selectat blocul meu.
Se pare că copiați textul în clipboard-ul vim, deoarece p îl va lipi. Dar într-un alt program (de exemplu Chrome), faceți clic dreapta-> lipiți nu lipiți textul corect. Cum pot copia textul în clipboard corect?
Răspunde
Următoarele vor funcționa numai dacă vim --version
indică faptul că aveți caracteristica +xterm_clipboard
. Dacă nu, va trebui să instalați pachete suplimentare sau să recompilați vim cu această caracteristică adăugată.
Există de fapt două opțiuni pentru acest lucru:
"+y
copiază în memoria tampon „obișnuită” (astfel încât să puteți lipi folosind Ctrl + V, faceți clic dreapta și selectați „Lipire” etc), în timp ce
"*y
copiază în selecția X11 – puteți lipi din acest buffer folosind clic mediu.
Rețineți că "*
și "+
funcționează în ambele sensuri. Deci, dacă ați selectat un anumit text într-o altă aplicație, îl puteți lipi în vim folosind "*p
și dacă ați copiat un anumit text (folosind, să zicem, Ctrl-C), atunci puteți lipi în vim folosind "+p
.
Comentarii
Răspuns
Dacă utilizați vim> = 7.3 .74, atunci puteți pune acest lucru în vimrc:
set clipboard=unnamedplus
Care va utiliza automat +
(clipboard-ul sistemului) în mod implicit. Apoi, pentru a extrage (copia), trebuie doar să folosiți comanda obișnuită y
etc.
Am considerat că acest comportament este destul de enervant, totuși, ca comenzi precum d
pune textul pe care îl operează în buffer-ul implicit, ceea ce însemna că nu puteam să fac un dd
rapid și să lipesc o linie de pe internet , de exemplu.
Comentarii
- + este un regizor de clipboard
- În ceea ce privește ultimul dvs. punct,
dd
înseamnă ” tăiați o linie „, astfel încât acesta ar fi comportamentul așteptat. În cazul rar când doriți pentru a șterge de fapt o linie în uitare,"_dd
va face trucul. - de asemenea, așa cum notează @HamishDowner în răspunsul său: Următoarele vor funcționa numai dacă
vim --version
indică faptul că aveți funcția+xterm_clipboard
. Dacă nu, va trebui să instalați pachete suplimentare sau să recompilați vim cu acea caracteristică adăugată.
Răspuns
Țineți apăsată tasta tasta și selectați textul cu cursorul mouse-ului.
Textul va fi copiat în clipboard.
Acest lucru funcționează și pentru lipirea din din clipboard în vim.
Pentru a fi clar, acest lucru funcționează pentru vim
care rulează într-un terminal precum xterm
.
Comentarii
- @LoopSpace pentru selecții pe mai multe linii, acesta va copia și numerele de linie atunci când
set nu
este activat . Deci, probabil că ați dori să comutați numerele de linie cu o scurtătură sau să executați comanda:set nonu
înainte de fiecare selecție. cursorul mouse-ului - Nu ‘ funcționează pentru mine folosind vim 8.0 + gnome-terminal
- Soluția nu este compatibilă cu termeni multipani precum tmux.
- Aceasta nu se copiază în clipboard, aceasta se copiază în principal .Vedeți distincția în articolul Clipboard Arch Wiki .
Răspundeți
Mi se pare foarte dificil de utilizat comenzile standard "+gP
și "+y
. Așa că am „remapat Ctrl-Y
pentru a fi lansat în clipboard și Ctrl-P
pentru a-l lipi din clipboard. Adăugați acest lucru la .vimrc
nnoremap <C-y> "+y vnoremap <C-y> "+y nnoremap <C-p> "+gP vnoremap <C-p> "+gP
Răspuns
Când mi-am verificat vim nu suporta clipboard:
vim --version | grep clip -clipboard +insert_expand +path_extra +user_commands +emacs_tags -mouseshape +startuptime -xterm_clipboard
Am instalat vim-gnome și apoi am verificat din nou
vim --version | grep clipboard +clipboard +insert_expand +path_extra +user_commands +emacs_tags +mouseshape +startuptime +xterm_clipboard
Acum pot copia și lipi folosind „+ y și respectiv„ + p.
Răspuns
Nu contează, Am găsit răspunsul – este scris în meniurile vim.
"+y
Foarte intuitiv.
Comentarii
- Folosiți
gvim
? - @ nozimica- yeah
- s sunt disponibile și în vim care rulează într-un xterm sau un emulator de terminal similar sub X (dacă vim este compilat cu funcția
+xterm_clipboard
).
Răspuns
Doar pentru a adăuga un răspuns non-specific vim: Puteți utiliza Ctrl+Shift+C
pentru a copia în clipboardul sistemului în Ubuntu (dacă funcționalitatea este furnizată de emulatorul de terminal, gnome-terminal pentru unul îl oferă). Ctrl+Shift+V
lipiți într-o altă fereastră a terminalului, Ctrl+V
lipiți regulat într-o aplicație GUI.
În plus, dacă selectați text în terminal, apoi faceți clic cu butonul din mijloc, acesta va fi lipit din clipboardul X11.
Comentarii
- Din anumite motive nu ‘ t funcționează. Doar selectați cu modul vizual, copiați cu ctrl-shift-C, apoi lipiți într-o altă aplicație folosind Ctrl-shift-V? Textul ‘ nu este copiat pentru mine.
- @ ripper234: acest lucru nu funcționează dacă utilizați gvim. După cum a spus crazy2be, această funcționalitate provine de la emulatorul dvs. de terminal.
- @ ripper234: 1) Este funcționalitate furnizată de emulatorul dvs. de terminal (gnome-terminal pentru unul îl oferă), 2) Ctrl + Shift + V este pentru a lipi la terminal , aplicațiile GUI folosesc în continuare Ctrl + V ca de obicei. ‘ voi edita răspunsul pentru a-l face mai clar.
- dacă utilizați mousedrag cu control shift – selectați text, copierea lipirii dintr-o fereastră tampon devine ușoară.
Răspuns
Țineți apăsată tasta SHIFT și selectați textul mouse-ului pentru a-l copia.
Apoi lipiți în alt program cu CTRL + v
.
Funcționează în terminal pe Ubuntu 16.04. Nu sunt sigur despre gvim
și alte sisteme.
Comentarii
- Acest lucru nu funcționează.
- răspuns creativ
Răspuns
În mod implicit, dacă instalați versiunea simplă a vim, atunci nu veți avea +xterm_clipboard
caracteristică activată (vim --version | grep xterm
), care este necesară pentru utilizarea *
și +
se înregistrează în afara vim.
Pentru a-l activa, trebuie fie să compilați vim, fie să instalați o versiune de vim care vine cu acesta pre-activată. Am folosit vim-gnome: sudo apt-get install vim-gnome
. Dacă efectuați vim --version | grep xterm
, veți vedea că acum este +xterm_clipboard
.
Acum, încercați să copiați în +
și *
și ar trebui să funcționeze.
Răspunde
Doar pentru a adăuga, dacă ceva funcționează, încercați să comutați terminalul care înfășoară vim (dacă utilizați vim din terminal). Am constatat că, de exemplu, clipboard-ul este inaccesibil de către guake în timp ce este accesibil de la gnome-terminal.
Răspuns
Pentru Ubuntu 14.04 Și mai sus:
-
Doar selectați textul pe care doriți să îl copiați. Și apoi faceți clic pe butonul de rulare centrală cu mouse-ul și accesați lipul div
Și faceți același lucru și acolo (faceți clic pe butonul de rulare centrală cu mouse-ul).
Funcționează 100% în ambele vim
și tail
pe Ubuntu.
shift'
apoishift=
apoiy
(nu toate dintr-o dată, una după cealaltă, cu excepția schimbărilor, desigur).