Come posso selezionare visivamente il blocco di testo che ho appena incollato in Vim?


13

Di solito ho bisogno di spostare / copiare frammenti di codice tra i miei file di origine. Dopo aver incollato un blocco di testo, di solito ho bisogno di applicare qualche operazione a quel blocco come riutilizzarli =.

C'è un modo per selezionare visivamente facilmente il blocco di testo che ho appena incollato senza farlo manualmente?

Risposte:


21

I segni '[e ']delimitano la prima e l'ultima riga del testo precedentemente modificato o strappato. Le controparti `[e `]delimitano le rispettive linee e colonne.

Usandolo, è possibile selezionare visivamente l'ultimo blocco modificato di linee con '[V']e quindi applicare il =comando.

Tuttavia, poiché un incolla lascia il cursore sulla prima riga del contenuto che è stato incollato, è anche possibile specificare un movimento su cui =applicare il comando, in questo caso al ']segno. Questo sarebbe ='].


Questa risposta viene descritto un metodo che funziona per tutti i tipi di selezioni visive (compresa a blocchi visivo): stackoverflow.com/questions/4312664/...
Adam Byrtek

14

Questa mappatura ti consente di selezionare nuovamente il testo che hai appena incollato:

nnoremap gV `[v`]

Ma avresti dovuto usare [pe ]pinvece.

Vedere :help [p.


2
+1 per [pe]p
lisowski.r

3

Vim include i seguenti utili mapping:

`[

e

`]

Che seleziona rispettivamente il primo e l'ultimo carattere del testo precedentemente modificato.

Le seguenti serie di tasti (in modalità normale) selezioneranno l'ultimo testo incollato:

`[v`]

Per un accesso più rapido, è possibile impostare una mappatura, ad esempio :

nnoremap gp `[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.