Antworten:
Verwenden Sie q
gefolgt von einem Buchstaben, um ein Makro aufzuzeichnen. Dies wird nur in eines der Copy / Paste-Register eingegeben, sodass Sie es wie gewohnt mit den Befehlen "xp
oder "xP
im normalen Modus einfügen können.
Um es zu speichern, öffnen Sie .vimrc und fügen den Inhalt ein. Das Register befindet sich dann beim nächsten Start von vim.
Das Format ist so etwas wie:
let @q = 'macro contents'
Achten Sie jedoch auf Zitate. Sie müssten ordnungsgemäß entkommen.
So speichern Sie ein Makro:
qq
q
"qp
um das Makro in Ihre let @q = '...'
Zeile einzufügenCtrl+r Ctrl+r registerName
Eingaben registrieren Inhalte, ohne sie zu interpretieren - besser als "qp
. +1 für die In-Vim-Methode.
Für eine robustere Lösung können Sie Marvim ausprobieren .
Sie können ein Makro in einem bestimmten Namespace speichern (oder den Dateityp als Standard-Namespace verwenden) und später nach Ihren gespeicherten Makros suchen und diese in ein gebrauchsfertiges Register laden.
Wenn Sie viele Makros wiederverwenden, ist dies ziemlich hilfreich.
Schreiben Sie Ihre Makros in ~ / .vimrc, um ein durch STRG + O gestartetes Makro anhand eines Beispiels zu definieren, und fügen Sie Ihrem ~ / .vimrc die folgende Zeile hinzu:
map <C-O> MACROTEXT
Wenn Sie ein Makro durch Eingabe aufzeichnen qa
, können Sie Ihren Makrotext durch Eingabe abrufen"ap
a
Register aufgezeichnet ist
Mit dem Befehl :mkexrc
(oder :mkvimrc
) können alle aktuellen :map
und :set
Einstellungen in einer Datei gespeichert werden. Siehe :help mkexrc
für Details.
Sie können dies auf Ihrem tun ~/.vimrc
:let @a="iHello World!\<CR>bye\<Esc>"
HINWEIS: Sie müssen doppelte Anführungszeichen verwenden, um Sonderschlüssel wie in verwenden zu können \<this silly example>
.
CTRL-V <ESC>
im Einfügemodus, um das richtige Zeichen einzufügen. Ein Literal<ESC>
funktioniert nicht