Markiert
TL;DR:
Ein weiteres tolles Feature dass man sich nicht entgehen lassen sollte, ist die Möglichkeit, Markierungen zu setzen. Vim hat ein ganzes Arsenal von Befehlen hierfür.
Markierungen sind nichts anderes als Klebezettel mit Beschriftung an bestimmten Positionen im Text. Diese Markierungen können gesetzt, entfernt und angesprungen werden. Dies ist vor allem bei größeren Texten sehr hilfreich.
Um eine Markierung zu setzen, tippt man im Command Mode m
, gefolgt von einem Klein- oder Großbuchstaben. Visuell sieht man nichts, doch drückt man ""(Hochkomma), gefolgt vom Buchstaben, springt der Cursor an die entsprechende Stelle. Das Sprungkommando kann auch mit einem Operator kombiniert werden. Drückt man beispielsweise d
t, wird alles ab der aktuellen Position bis zur Markierung t gelöscht.
Es gibt einen Unterschied zwischen Kleinbuchstaben und Großbuchstaben. Kleinbuchstaben werden nach dem Verlassen der Datei automatisch gelöscht. Ebenfalls entfernt werden diese Markierungen, wenn die entsprechende Zeile entfernt wird. Großbuchstaben werden zusammen mit dem Dateinamen gespeichert, können also auch dateiübergreifend aufgerufen werden. Nach dem Verlassen der Datei kann die Markierung weiterhin angesprochen werden. Die Markierungen werden in der Datei .viminfo gespeichert.
Es gibt noch eine weitere Sorte von Markern, die von Vim schon vorbelegt werden. Die Ziffern 0-9 sind diese Spezialmarkierungen, mit denen man zur letzten bekannten Position des Cursors vor dem letzten Beenden der Datei springen kann. Mit der 0 kommt man zur letzten Position, mit der 1 zur vorletzten usw.
Will man sich alle gesetzten Markierungen anzeigen lassen, kann man den Befehl :marks verwenden. Gelöscht werden kann eine Markierung mit dem :delmarks Befehl.
Springt man zu einer Markierung, will man meistens wieder zurück zur ursprünglichen Position. Dies kann man mit zwei Hochkommas hintereinander erzielen. Eine ganze Reihe weiterer Kniffe rund um Markierungen kann man in der Hilfe nachlesen (:help mark-motions), es lohnt sich!
Notiz auf dem CheatSheet:
- m{a-zA-Z} = Setzen
- :marks = Auflisten
- "{a-zA-Z0-9} = Cursor bewegen
- :delmarks[!] [pattern] = [alle] löschen
Ich mache nun 4 Wochen Pause, da ich beim NaNoWriMo mitmache und demnach vermutlich keine Zeit haben werde, die Vim-Mastery Artikel weiterhin wöchentlich erscheinen zu lassen. Danach geht es aber dann weiter. (Genügend Zeit also für meine Mitstreiter aufzuholen :-)