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

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 SOMETHING>
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ß!

The following two tabs change content below.

Jan Bundesmann

Neueste Artikel von Jan Bundesmann (alle ansehen)