@ Samnang: Ich habe ein ähnliches Setup wie Sie; Leider hat Jasons Antwort für mich nicht funktioniert.
Dies ist eine Problemumgehung:
Aktualisierte Antwort, inspiriert von @ Cyryl1972s Kommentar.
Registerkarte am Anfang aller Zeilen einfügen (Hinweis: Für den folgenden Code müssen keine Zeilen ausgewählt werden, da dieser im Zeilenübereinstimmungsteil des Ausdrucks enthalten ist):
:1,$s/^/\t\1/
Registerkarte nach den ersten 10 Zeichen in allen Zeilen einfügen:
:1,$s/^\(.\{10}\)/\1\t/
Erklärung - erster Teil:
:1,$ Match from line 1 to end of file
^(.{10} Collect (preserve) all text from beginning of line to position 10
(you need to escape the parentheses, \( and \), as well the FIRST
(left) curly brace, only: \{ -- as it, { , appears to have special
meaning in regex when used for this purpose
Erklärung - zweiter Teil:
/1 Add back the preserved text
\t Insert a tab
... und der Rest der Zeile wird ebenfalls automatisch wiederhergestellt.
Nur aktuelle Zeile:
:s/^/\t\1/
Beispiel: Fügen Sie die Registerkarte an Position 10 (0-indiziert) in den Zeilen 2-4 ein:
1234567890abcdefghij
1234567890abcdefghij
1234567890abcdefghij
1234567890abcdefghij
1234567890abcdefghij
:2,4s/^\(.\{10}\)/\1\t/
1234567890abcdefghij
1234567890 abcdefghij
1234567890 abcdefghij
1234567890 abcdefghij
1234567890abcdefghij
Referenzen (StackOverflow):
Referenzen (andere):
CTRL
+Q
dann tun, wenn die Win-Kompatibilität in vimrc aktiviert ist (dies ist die Standardeinstellung)TAB
.