Risposte:
Utilizzare q
seguito da una lettera per registrare una macro. Questo va solo in uno dei registri copia / incolla in modo da poterlo incollare normalmente con i comandi "xp
o "xP
in modalità normale.
Per salvarlo, apri .vimrc e incolla il contenuto, quindi il registro sarà disponibile al prossimo avvio di vim.
Il formato è simile a:
let @q = 'macro contents'
Fai attenzione alle citazioni, però. Dovrebbero essere sfuggiti correttamente.
Quindi per salvare una macro puoi fare:
qq
q
"qp
per inserire la macro nella let @q = '...'
rigaCtrl+r Ctrl+r registerName
gli input registrano i contenuti senza interpretarli, meglio di "qp
. +1 per il metodo in-vim comunque.
Per una soluzione più robusta puoi dare un'occhiata a Marvim .
Ti consente di salvare una macro in uno spazio dei nomi specifico (o utilizzare il tipo di file come spazio dei nomi predefinito) e successivamente puoi cercare le tue macro salvate e caricarle in un registro pronto per l'uso.
Se riutilizzi molte macro, questo è piuttosto utile.
Scrivi le tue macro nel tuo ~ / .vimrc, per definire una macro lanciata da CTRL + O per esempio, aggiungi la seguente riga al tuo ~ / .vimrc:
map <C-O> MACROTEXT
quando si registra una macro digitando qa
è possibile recuperare il testo della macro digitando"ap
a
registro
Il comando :mkexrc
(o :mkvimrc
) può essere utilizzato per salvare tutte le impostazioni correnti :map
e :set
in un file. Vedi :help mkexrc
per i dettagli.
Puoi fare così sul tuo ~/.vimrc
:let @a="iHello World!\<CR>bye\<Esc>"
NOTA: è necessario utilizzare virgolette doppie per poter usare chiavi speciali come in \<this silly example>
.
CTRL-V <ESC>
in modalità insert per inserire il carattere corretto. Un letterale<ESC>
non funziona