Ich habe ein paar Fälle, in denen ich folgendes tun möchte
In Datei:
%Vor%Mit dem Cursor an der ersten Ziffer, möchte ich Strg-A verwenden, um die Ziffer zu erhöhen, so dass ich
bekomme %Vor%statt
%Vor%Gibt es dafür intrinsische vim-Befehle?
Andernfalls sollte ich ein schnelles Skript einrichten:
Wie so, und dann auf einen Schlüssel zuordnen?
Die Inkrementierungsfunktion nimmt eine führende Zahl wie die meisten vim-Befehle. 1000 ctrl+a
würde 2234
wie gewünscht zurückgeben. Wenn alle Ihre Nummern 4 Ziffern sind, dann würde dies funktionieren. Oder Sie könnten r2
verwenden, was das aktuelle Zeichen unter dem Cursor durch ein 2
ersetzt, aber das könnte zu spezifisch sein.
Wenn Sie Ihr Skript benötigen, können Sie ein Makro aufzeichnen.
qaa[space][esc]h[ctrl+a]lx
aufgeschlüsselt:
qa
- Starten Sie die Aufzeichnung eines q
-Makros und speichern Sie, um a
a[space][esc]
- fügen Sie ein Leerzeichen nach der Nummer hinzu
h
- gehe zurück zu Nummer
ctrl+a
- fügen Sie einen
lx
bewegt sich nach rechts und löscht Leerzeichen.
Sie sollten keinen führenden Platz hinzufügen müssen, denn wie Sie festgestellt haben, wirkt sich die ctrl+a
-Funktion auf die ganze Zahl aus und fügt immer 1 hinzu.
Sie könnten dies als s<C-r>=<C-r>"+1<Enter>
machen.
Sie können das dann auf etwas anderes abbilden, wie nnoremap g<C-a> s<C-r>=<C-r>"+1<cr>
(Sie müssen Strg-v Strg-r verwenden, um <C-r>
s einzufügen in dieser normalen Karte).
s
- Lösche das Zeichen unter dem Cursor und beginne das Einfügen
<C-r>=
- Beginne eine Ausdrucksauswertung.
<C-r>"
- lege den Inhalt des unbenannten Registers in
Siehe: help i_CTRL-r für weitere Informationen zu diesen.
+1<Enter>
- füge dem Wert 1 hinzu und vervollständige den Befehl.
Tags und Links vim