2010-01-07 13 views

Antwort

168

Verwenden Sie q, gefolgt von einem Buchstaben, um ein Makro aufzuzeichnen. Dies geht einfach in eines der Copy/Paste-Register, so dass 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 Sie den Inhalt ein, dann wird das Register beim nächsten Start von vim angezeigt.
Das Format ist so etwas wie:

let @q = 'macro contents' 

Zitate Seien Sie vorsichtig, wenn. Sie müssten ordnungsgemäß entkommen.

So ein Makro speichern Sie tun können:

  • Aus Normalbetrieb: qq
  • geben, was auch immer
  • Von normalen Modus-Befehle: q
  • offen .vimrc
  • "qp einfügen das Makro in Ihre let @q = '...' Linie
+3

Auch, wenn Sie Sonderzeichen einfügen müssen (wie in meinem Fall Flucht) verwenden' CTRL-V 'in Geben Sie den Modus ein, um das korrekte Zeichen einzufügen. Ein Literal '' funktioniert nicht –

+3

"Beachten Sie jedoch, dass die obige Methode mit: Let wird nicht wie erwartet für alle Makros arbeiten, die Sie in einem oder Zeichen (Wagenrücklauf oder newline). ". http://vim.wikia.com/wiki/Macros#Saving_a_macro – Paolo

+1

Sind die Anführungszeichen (um Makroinhalte) erforderlich? – user2472071

19

Schreiben Sie Makros in Ihrem ~/.vimrc, ein Makro, indem Sie STRG + O von Beispiel ins Leben gerufen zu definieren, fügen Sie die folgende Zeile in ~/.vimrc:

map <C-O> MACROTEXT 

wenn Sie einen Makro aufzeichnen, indem Sie Geben Sie qa ein. Sie können Ihren Makrotext abrufen, indem Sie "ap

eingeben
+0

Verwenden von "ap oder gleichwertig hat nicht funktioniert, aber Sie können zu den gleichen Informationen durch: reg – DShook

7

Mit dem Befehl :mkexrc (oder :mkvimrc) können alle aktuellen Einstellungen :map und :set in einer Datei gespeichert werden. Einzelheiten finden Sie unter :help mkexrc.

+0

Ich werde es überprüfen, danke! – jnadro52

16

Für eine robustere Lösung können Sie Marvim auschecken.

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 registerfähiges Verzeichnis laden.

Wenn Sie viele Makros wiederverwenden, ist dies sehr hilfreich.

+6

Ich möchte nur sagen, wie einfach es ist, marvim eine einzige Datei in das Verzeichnis/plugin zu kopieren und dann F3 zum Speichern eines Makros und F2 zum Ausführen zu verwenden. –