Usuń od kursora do pierwszego znaku x (obejmującego wiele wierszy)


12

Wiem, że mogę usunąć z kursorem aż do i włącznie z pierwszego wystąpienia danego znaku X z dfx. Działa to tylko w jednej linii. Jak mogę usunąć z bieżącej pozycji kursora do pierwszego wystąpienia x, gdy x nie znajduje się w tej samej linii?

Na przykład, jeśli kursor znajduje się za pierwszą spacją w

yada yada yada
yada yada yada x yada yada yada x

i wpisuję dfxwynik musi być:

yada


2
w twoim przykładzie wydajesz się, że chcesz usunąć do ostatniego wystąpieniax
guillem,

@ guillem masz rację. To był błąd kopiowania i wklejania. W każdym razie próbowałem zrealizować to, o co prosiłem na przykładzie z błędem, ale nie udało mi się tego. Zadałem kolejne pytanie: usuń z kursora do n-tego wystąpienia znaku x .
Erwin Rooijakkers,

Odpowiedzi:


21

Użyj /do wyszukiwania do przodu:

d/x<CR>

i ?do wyszukiwania wstecz:

d?x<CR>

10

Chciałem skomentować odpowiedź romainla, ale nie mam jeszcze wystarczającej reputacji, aby to zrobić!

Mimo że wymaga jeszcze jednego naciśnięcia klawisza, uważam, że warto v/x<CR>dzobaczyć część, która jest usuwana.


1
To poprawna odpowiedź. Nie trzeba umieszczać tego w komentarzu. Mówimy tylko o jednym oprogramowaniu (z jego odmianami), więc niekoniecznie musisz mieć ochotę, aby uzyskać prawidłową odpowiedź wartą odpowiedzi.
Wildcard

@ErwinRooijakkers powinieneś wybrać tę odpowiedź, jeśli tego właśnie będziesz używać.
Paul Evans

@PaulEvans Nie zgadzam się. Chociaż ta odpowiedź ma dla mnie bardziej praktyczną wartość, uważam, że zaakceptowana odpowiedź stanowi lepszą odpowiedź na zadane pytanie (ponieważ robi dokładnie to, o co proszono - nie prosiłam, aby najpierw wyróżnić tekst).
Erwin Rooijakkers,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.