Registers und Makros in Vim
Auf den Chemnitzer Linux-Tagen 2023 war die ATIX natürlich wieder mit von der Partie! Unser Senior IT Consultant Jan Bundesmann hat in seiner Präsentation über Registers und Makros in Vim gesprochen. Die Inhalte in Kürze:
▶ Registers in Vim sind Named Clipboards
▶ Zugriff auf ein System Clipboard mittels Registers + und *
▶ Makros erlauben das Aufzeichnen von sich wiederholenden Aufgaben
▶ Makros werden als Registers gespeichert
Hier gibt es ein paar Auszüge der Präsentation:
Kurze Einführung in die Terminologie
Clipboard | CTRL + (SHIFT +)C / Copy & Paste |
Primary selection |
Markierter Text, kann mit der mittleren Maustaste woanders eingefügt werden
|
Registers | Interne Zwischenspeicher in Vim |
Copy-und-Paste-Funktion
{ycd} | yank / change / delete bis zum Ende der Bewegung |
yy|cc|dd | yank / change / delete der vollständigen Zeile |
p|P | paste vor oder nach der Cursorposition |
{ycdp} | perform yank / change / delete auf die „Visual Selection“ |
Registers
▶ Daten in Registers speichern und von dort abrufen
▶ Named Registers
”x{ycdp} Zugriff auf Register x für die nächste Aktion
””{ycdp} Zugriff auf Default oder Unnamed Register für die nächste Aktion
„presentation“>48 verfügbare Registers
see :help registers for reference |
|||
unnamed |
read-only |
% | |
named | a to z | alternate file |
|
small delete |
expression |
||
numbered |
0 to 9 | last search |
|
selection |
*, +, ~ | black hole |
_ |
Makros
▶ Jede Aktion in Vim ist eine Reihe von Tastenkombinationen.
Aktionen kann man auf zwei Arten wiederholen:
▶ Tastenkombinationen aufschreiben
▶ Sie als Makros abspeichern
Aufzeichnung
1. Aufzeichnung des Makros x mit qx beginnen
2. Befehle eingeben
3. Aufzeichnung mit q beenden
Wiedergeben
1. @x drücken, um Makro x wiederzugeben
2. Wenn erwünscht, Multiplikator davorsetzen: 5@x
Makros modifizieren
Vim speichert Makros in Registers. Das sieht man, wenn man sich alle Registers anzeigen lässt (:registers). Zum Verändern überschreibt man einfach das vorhandene Register:
1 „xp
2 # modify macro and visually mark it
3 „xy
So erstellt man ein neues ähnliches Makro:
1 „xp
2 # modify macro and visually mark it
3 „zy
Rekursive Makros
Was passiert, wenn ein Makro x sich selbst aufruft?
1. Sicherstellen, dass Makro leer ist: qxq
2. Makro aufzeichnen, nicht vergessen, es am Ende aufzurufen
1 qx
2
3 @x
4 q
Das Makro wird so lange laufen, bis es Fehler produziert.
Hier gibt es die gesamte Präsentation und das Video des Vortrags. Viel Spaß!
Jan Bundesmann
Neueste Artikel von Jan Bundesmann (alle ansehen)
- ATIX at ConfigMgmtCamp 2024 - 20. Februar 2024
- Von Docker zu CRI-O wechseln - 15. November 2023
- Registers und Makros in Vim - 23. Juni 2023