Ich versuche herauszufinden, wie dt
oder df
das letzte Vorkommen eines Zeichens in einer Zeichenfolge.Vim - Löschen bis zum letzten Auftreten von Zeichen in Zeile
Zum Beispiel lassen Sie uns sagen, dass ich die folgende Zeile haben:
foo not.relevant.text.bar
Wenn ich f df.
ich expectedly foo relevant.text.bar
bekommen, aber ich möchte foo bar
bekommen. Die Verwendung von f 3df.
ist keine Option, da ich nicht weiß, wie viele Zeichen in der Zeichenfolge enthalten sind. Außerdem möchte ich möglicherweise foo .bar
(f 3dt.
) erhalten, oder wenn die Zeile mit einem Punkt endet, möchte ich foo .
erhalten. Ich möchte immer den letzten finden, egal wie viele es sind.
Ist dies ohne eine Regex möglich? Ich nehme an, ich könnte einen Regex verwenden, aber ich hatte gehofft, dass es einen einfachen vim-Befehl gibt, den ich vermisse. Ich versuche oft, so etwas zu tun.
Möchten Sie immer vom Anfang der Zeile löschen? Wenn ja, nur bis zum Ende der Zeile eine Suche rückwärts '$ F.d0' –
Wenn ich rückwärts suche, dann müsste ich das erste Vorkommen des Zeichens in der Zeichenfolge finden, da ich noch alles vor dem ersten Leerzeichen haben möchte. – Rob