Speichern Sie ein gerade in vimrc erstelltes Makro

14

Manchmal erstelle ich Makros. Manchmal erstelle ich dasselbe Makro mehrmals.

Manchmal habe ich es satt, immer wieder dasselbe Makro zu erstellen. Kann ich Makros speichern? Kann ich eine Voreinstellung von Makros laden? Kann ich ein Makro erstellen und für immer speichern?

sensorario
quelle

Antworten:

17

Ja, du kannst! Hierfür gibt es verschiedene Möglichkeiten. Standardmäßig werden alle Register in Ihrer viminfo- Datei gespeichert und geladen, sobald Sie vim starten. Dies ist der einfachste Weg. Es ist jedoch nicht narrensicher. Jedes Register geht verloren, wenn Sie es versehentlich aufnehmen / überschreiben.

Der bessere Weg, ein bestimmtes Makro zu speichern, besteht darin, es in Ihrem zu speichern .vimrc. Angenommen, Sie möchten fooim Makro gespeichert werden a. Dies könnte erreicht werden mit:

let @a='foo'

in deinem vimrc. Wenn Sie Ihre Makros bereits erstellt haben, können Sie sie eingeben

ilet @a='<C-r><C-r>a'<esc>

um den aktuellen Inhalt des Makros einzufügen, wenn Sie nicht Lust haben, alles noch einmal abzutippen.


Vielen Dank an Andrew Keeton für den Hinweis <C-r><C-r>

James
quelle
Wahrscheinlich möchten Sie <C-r><C-r>(zwei anstelle von einem) verwenden, um den Text wörtlich einzufügen
Andrew Keeton
1
@ AndrewKeeton Ooh, große Verbesserung. Vielen Dank, dass Sie mich darüber informiert haben
James
<c-r><c-r>wird nicht funktionieren , wenn Ihr Makro spezielle Tastenfolge wie enthält <c-right>, "apdieses Problem nicht hat.
dedowsdi