Lassen Sie sagen, ich habe diesen Eingang:Vim: Wie in der visuellen Block oder in Bereich von Zeilen ersetzen mit Erniedrigen bestimmte Anzahl
{3:3} abc
{3:4} def hjkl
Ouput sollte sein:
{3:2} abc
{3:3} def hjkl
so Erniedrigen Zahl am Anfang der Zeile nach ':' vor '}'.
Bitte beachten Sie, dass dies
Hinweis: Obwohl Sie einen visuellen Block verwenden, wird Ihr Befehl tatsächlich auf der gesamten Zeile ausgeführt (siehe [diese] (http://vi.stackexchange.com/q/6898/6698) und [this] (http://vi.stackexchange.com/q/7388/6698) Fragen). Übrigens könnte es verkürzt werden auf: <,'> s /: \ zs \ d \ + \ ze}/\ = submatch (0) -1/g' –
@JairLopez: ': '<,'> s/\% V: \ zs \ d \ + \ ze} \% V/\ = submatch (0) -1/g' stellt sicher, dass die Übereinstimmung vollständig innerhalb des visuellen Blockes liegt (und Teile der Linie auslassen, die nicht vom visuellen Block abgedeckt sind). – Amadan