vim powtórz znajdź następny znak 'x'

123

Często nawiguję w vimie, f xaby znaleźć następne wystąpienie znaku „x”, ale przeoczam, że istnieje słowo (lub więcej słów) zawierające „x” między słowem, które chcę edytować, a początkową pozycją kursora.

Muszę więc jeszcze f xraz, co jest trochę denerwujące, ponieważ jest ten fajny przycisk ., który powtarza ostatnie polecenie. Czy jest więc sposób, aby powtórzyć f xza jednym naciśnięciem przycisku.

epsilonhalbe
źródło

Odpowiedzi:

240

Polecenie do powtórzenia fto ;(średnik); ,(przecinek) odwraca kierunek wyszukiwania.

Jeremiah Willcock
źródło
2
Czy jest jakiś użyteczny powód, dla którego nie możesz tego użyć .? To było polecenie, którego się spodziewałem.
Daniel Kaplan
4
@DanielKaplan Sensowne jest mapowanie nowości, tj. Poszukiwania znaku ( fi ;), na inny znak niż powtórzenie edit ( .). Pozwala to na szybkie wyszukiwanie i zmiany w wynikach wyszukiwania. Jeśli chcesz zamienić niektóre znaki +w linii, *możesz zrobić coś takiego (pomijając niektóre znaki i zastępując inne):f+r*;.;;.;.;;;.
Marcus Krahl.
2
Czy istnieje sposób na zmianę mapowania tych poleceń? Wiele osób używa ,roli lidera.
rk1
@ rk1 Zmień lidera za pomocą: let mapleader = "" (jeśli chcesz spację)
@DrEval Jasne, ale chcę zachować mojego lidera jako ,i nadal mieć wyszukiwanie wsteczne. W każdym razie, teraz jestem szczęśliwym użytkownikiem vim-easymotion.
rk1
18

Minęło trochę czasu, odkąd zadałem to pytanie - obecnie korzystam z vim-easymotion , co sprawia, że ​​potrzeba tego jest ;prawie niepotrzebna.

Ta wtyczka umożliwia bezpośrednie przejście do określonej litery - uruchomienie wtyczki powoduje, że wszystkie litery są szare z wyjątkiem wszystkich „x” na ekranie - a te są zastępowane czerwonymi literami, które można nacisnąć, aby przejść bezpośrednio do niej.

easymotion w użyciu

epsilonhalbe
źródło