Come copiare il testo strappato al prompt dei comandi VI


118

Voglio sapere se esiste un modo per incollare il testo strappato nella finestra di comando. Ad esempio, se ho strattonato una parola e voglio grep in qualche posizione non posso semplicemente incollare la parola usando 'p'. Tuttavia, se lo copio negli appunti, Shift-Insert incollerà la stessa cosa.

C'è qualche modifica disponibile che mi consentirebbe di incollare il testo strappato al prompt dei comandi di vim?

Sto usando gvim su Windows.

Risposte:


174

prova ad usare

<ctrl+r>"

dove "sta per default register.


7
Nota che funziona anche in modalità di inserimento normale, non solo sulla riga di comando.
user55400

25
Se usi *invece di ", otterrai invece il contenuto degli appunti di sistema (che potrebbe essere utile).
dash-tom-bang

40

<C-R>"Incollerà il buffer predefinito. In alternativa, puoi usare q:per aprire un buffer per il comando successivo. provare:help q:


10
Santo q:
cielo

19
  • assicurarsi prima di essere in modalità normale premendo Esc
  • una volta in modalità normale, premere :
  • quindi utilizzare la combinazione di tasti ctrl-re quindi digitare"

Nota: se stai tracciando un'intera riga contenente il percorso del file relativo, anche l'avanzamento riga verrà incollato ... ad es :! touch src/bash/script.sh^M

CREERÀ un "percorso file divertente" contenente "\ r" se non rimuovi l'ultimo ^M...


13

Per risparmiare un passaggio di strappo, se il cursore si trova sulla parola che desideri utilizzare in Ex, usa:

 <ctl-r><ctl-w>

Questo evita lo strappo per incollare nella riga di comando; invece, si incolla la parola sotto il cursore direttamente sulla riga di comando. Per esempio:

:%s/<ctl-r><ctl-w>/foo/g

5

Se è solo una parola che vuoi copiare, puoi usare <C-r><C-w>

  1. Posiziona il cursore sulla parola
  2. Quindi puoi digitare qualcosa come :vim <C-r><C-w> *

3

Puoi trascinarlo negli appunti usando il *buffer denominato. Ad esempio, questo copierà la riga corrente negli appunti:

"*yy

Quindi puoi copiare una riga usando questo, e poi incollarla con shift-insert nella riga di comando.

Allo stesso modo, puoi incollare dagli appunti in questo modo:

"*p

2

Gli appunti sono +, almeno su Mac. Quindi dovresti scrivere "+yyper trascinare una riga negli appunti e "+pincollarla. Sebbene tu possa sempre usare Comando-C e Comando-V.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.