Für eine Datei, die so aussieht:
2 AD,42.546245,1.601554,Andorra,376
3 AE,23.424076,53.847818,United Arab Emirates,971
4 AF,33.93911,67.709953,Afghanistan,93
5 AG,17.060816,-61.796428,Antigua and Barbuda,1
Ich versuche, die führenden Leerzeichen und Zahlen für die ersten 10 Zeilen zu entfernen, also würde ich am Ende mit
AD,42.546245,1.601554,Andorra,376
AE,23.424076,53.847818,United Arab Emirates,971
AF,33.93911,67.709953,Afghanistan,93
AG,17.060816,-61.796428,Antigua and Barbuda,1
Warum funktioniert "zwei Wörter entfernen" :d2w
für eine einzelne Zeile, jedoch nicht für einen Bereich :1,10d2w
?
HINWEIS:
Das Problem selbst wird aufgrund des festen Formats mit gelöst. Es :1,10s/.\{8\}//
geht also mehr darum, zu verstehen, wie Bereiche mit verwendet werden:dNw
:1,10s/\v^(\s|\d)*/
(Entfernen Sie eine beliebige Anzahl von Leerzeichen oder Ziffern am Anfang der ersten 10 Zeilen)Antworten:
Sie können dies mit dem normalen Befehl tun:
Dies liegt daran, dass der
d
Bediener keinen Bereich akzeptiert, sondern nur eine Bewegung:Alternativ können Sie Ihren Text im visuellen Modus auswählen und Folgendes tun:
quelle
:normal
Wird es möglich sein, den Befehl so auszuführen, als würde ich ihn beim Navigieren mit dem Cursor eingeben?:normal
Mit dieser Option können Sie einen Befehl so ausführen, wie er im normalen Modus eingegeben wurde (wenn Sie mit dem Cursor navigierenhjkl
). Siehe::h :normal