Ho provato a usare Ctrl + V per incollare i contenuti in un documento dell'editor vi, ma Ctrl + V non è interpretato come una pasta.
Ho provato a usare Ctrl + V per incollare i contenuti in un documento dell'editor vi, ma Ctrl + V non è interpretato come una pasta.
Per prima cosa, assicurati di essere in modalità di modifica (premi i ). Quindi puoi incollare con Ctrl + Shift + V , se sei in un emulatore di terminale come gnome-terminal
(o seleziona "Incolla") dal menu di scelta rapida).
Puoi anche digitare :set paste
in vim prima di incollare per disabilitare il rientro automatico, ecc. Quindi :set nopaste
dopo aver incollato il contenuto.
Controlla anche questa domanda su stackoverflow.com per ulteriori informazioni.
Se vuoi copiare / incollare linee in vim
(invece di incollare il contenuto degli appunti), ti consigliamo di controllare il comando yank . Ecco una scheda cheat che potrebbe essere di aiuto.
Vi (e Vim) funziona in modo molto diverso rispetto a un normale editor di testo come Gedit. Ha anche una curva di apprendimento piuttosto ripida. Se vuoi imparare alcuni comandi di base, inizia con questo tutorial interattivo .
Tuttavia, per rispondere alla tua domanda. È possibile accedere al contenuto degli Appunti di sistema tramite il registro più. Quindi, per incollare qualcosa dagli Appunti di sistema che puoi, dalla modalità Normale, premi: "+ p (non contemporaneamente, ma uno dopo l'altro).
Se vuoi copiare i contenuti incollati all'interno dello stesso file , usa yank
e paste
.
Se vuoi copiare i contenuti incollati tra i terminali , apri il primo file, strappando il testo desiderato, quindi apri il tuo secondo file all'interno di vim (ad esempio :tabnew /path/to/second/file
) e premi p
per incollarlo.
Se vuoi copiare il contenuto della pasta da vim a un programma esterno , devi accedere agli appunti del sistema. Presumo che tu usi Ubuntu. La versione GUI di vim ha sempre il supporto per gli appunti, tuttavia, se ti piace usare Vim da un terminale, dovrai controllare il supporto per X11-clipboard.
Dalla console, digita:
$ vim --version | grep xterm
Se trovi -xterm_clipboard , hai due opzioni:
1) Compila tu stesso, con il flag xterm_clipboard su
2) Disinstalla vim, installa gvim (vim-gtk o vim-gnome). Puoi attaccare a non-gui vim chiamando Vim dal terminale, nello stesso modo in cui facevi prima. Questa volta quando controlli dovresti trovare + xterm_clipborad .
Ora, quando inserisci del testo nel registro + all'interno del tuo editor di vim (ad esempio "+ yy), viene anche copiato negli appunti di sistema che puoi recuperare dal tuo programma esterno come gedit editor, usando Ctrl + V .
Se vuoi copiare i contenuti incollati da un programma esterno in vim , prima copia il tuo testo negli appunti di sistema tramite Ctrl + C , quindi nell'editor di vim modalità di inserimento , fai clic sul pulsante centrale del mouse (di solito la ruota) o premi Ctrl + Maiusc + V per incollare.
Questi sono 4 semplici copia & amp; incolla condizioni relative a vim. Spero che questo aiuti.
Io uso sempre Shift + Insert quando voglio incollare il testo nel terminale, funziona in tutti i programmi di terminale.
(che è anche il motivo per cui non ho mai un laptop dove non puoi premere Insert senza premere un tasto secondario)
Utilizza il pulsante centrale del mouse per inserire il testo evidenziato altrove.
È utile quando non si ha accesso agli appunti del sistema (ad esempio, in una sessione SSH remota).
Deve essere in modalità di modifica / inserimento per Vim.
Dopo aver inserito vi, premi i
per entrare in modalità inserimento, fai clic con il pulsante destro del mouse sul terminale, fai clic su Incolla.
Istruzioni dettagliate per copiare / incollare righe di testo in vi utilizzando yank
e put
(usa quanto segue nella modalità di comando di vi)
Copia (YANK)
Per copiare una riga in vi:
yy
o digita Y
Per copiare 2 righe in vi:
2yy
o digita 2Y
(allo stesso modo, qualsiasi numero di righe può essere copiato)
Per copiare tutte le linee dalla posizione corrente alla fine del file:
yG
Per copiare tutto il testo dalla posizione corrente alla fine della parola corrente:
yw
Per copiare tutto il testo dalla posizione corrente alla fine della riga:
y$
Incolla (PUT)
Per incollare il testo negli appunti - dopo la posizione del cursore:
p
Per incollare il testo negli appunti - prima la posizione del cursore:
P
Se sei root : Ctrl + Maiusc + V
Se sei not-root : Center fai clic con il mouse.
Volevo solo notare che usando Vim tramite Git Bash su Windows, puoi semplicemente usare p
o center-click del mouse senza essere in modalità di inserimento. Usando Vim attraverso PuTTY , puoi semplicemente fare clic con il pulsante destro del mouse. E l'evidenziazione fa la copia.
Ho notato questo perché sono arrivato qui non vedendo che questo è SE per Ubuntu.
Altri comandi utili:
Ho riscontrato un problema, perché la mia installazione di Vim non supportava gli appunti :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
Ho installato vim-gnome (che supporta gli appunti) e poi controllato di nuovo:
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
Ora sono in grado di copiare e incollare usando "+ y e" + p rispettivamente.