Weiß jemand, wie man in einem VIM-Editor aufgezeichnete Makros richtig speichert / wiederverwendet?
166
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ügen
CTRL-V <ESC>
im Einfügemodus, um das richtige Zeichen einzufügen. Ein Literal<ESC>
funktioniert nichtCtrl+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.
quelle
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:
Wenn Sie ein Makro durch Eingabe aufzeichnen
qa
, können Sie Ihren Makrotext durch Eingabe abrufen"ap
quelle
a
Register aufgezeichnet istMit dem Befehl
:mkexrc
(oder:mkvimrc
) können alle aktuellen:map
und:set
Einstellungen in einer Datei gespeichert werden. Siehe:help mkexrc
für Details.quelle
Sie können dies auf Ihrem tun
~/.vimrc
HINWEIS: Sie müssen doppelte Anführungszeichen verwenden, um Sonderschlüssel wie in verwenden zu können
\<this silly example>
.quelle