Próbuję dowiedzieć się, jak dt
lub df
ostatnie wystąpienie znaku w ciągu znaków.Vim - Usuń do ostatniego wystąpienia znaku w linii
Na przykład, powiedzmy, że mam następujący wiersz:
foo not.relevant.text.bar
Gdybym f df.
I expectedly dostać foo relevant.text.bar
ale chciałbym dostać foo bar
. Używanie f 3df.
nie jest opcją, ponieważ nie wiem, ile znaków będzie w ciągu znaków. Dodatkowo, mogę chcieć uzyskać foo .bar
(f 3dt.
), lub jeśli linia kończy się kropką, mogę uzyskać foo .
. Chcę zawsze znaleźć ostatnią, niezależnie od tego, ile tam jest.
Czy to możliwe bez wyrażeń regularnych? Przypuszczam, że mógłbym użyć wyrażenia regularnego, ale miałem nadzieję, że istnieje proste polecenie vim, którego mi brakuje. Często próbuję coś takiego zrobić.
Czy zawsze chcesz usunąć od początku linii? jeśli tak, to po prostu do końca linii szukanie wstecz '$ F.d0' –
Jeśli przeszukuję wstecz, to będę musiał znaleźć pierwsze wystąpienie znaku w ciągu, ponieważ nadal chcę wszystkiego przed pierwszym spacjarem. – Rob