Risposte:
è fattibile anche in Vanilla Vim, ma l'applicabilità dipende dal tuo caso d'uso, ad es. con quale frequenza dovrai ripeterlo, dal momento che sono necessari alcuni altri tasti per renderlo ripetibile.
usando lo spostamento verso il basso di 5 righe come esempio, puoi fare:
:norm 5j
, sposta il cursore in basso di 5 righe@:
per ripetere il movimento:norm
sta per normale, qualsiasi stringa seguente viene considerata come la sequenza di tasti in modalità normale
qa
(memorizza la macro nel registro a
, puoi scegliere il tuo registro come qb
, qc
)5j
q
(termina la registrazione della macro)@a
per ripetere l'operazione registrata (sostituire a
con il nome del registro selezionato, ad es. @b
, @c
)la macro richiede un maggiore potere spirituale da impostare, ma è più ripetibile nel senso che è possibile memorizzare più operazioni in registri diversi senza essere sostituite dalle ultime operazioni.
Puoi ripetere le modifiche con .
. I movimenti possono essere ripetuti con il ;
comando. Questo comando sembra essere nuovo e fa una cosa simile allo script repmo.vim menzionato in altre risposte.
Ad esempio, per passare al secondo successivo c
, premere 2fc
. Quindi per farlo di nuovo, basta digitare ;
.
È possibile selezionare le linee che si desidera modificare ed eseguire l'ultimo comando punto normale
v5j .............. visual select next 5 lines
:'<,'>norm! . normal mode execute over selection last command '.'
;
non è nuovo. È un comando vi standard. Vi ricorda il tipo e il carattere target (ma non l'argomento numerico) dell'ultimof
/F
/t
/T
movimento e lo;
ripete. Tuttavia, non ripete altri movimenti.