Wizualnie wybierz bieżący wynik wyszukiwania


9

Mam hlsearchustawione, ale czasami kołysze mnie do myślenia t kapelusz mam termin wyszukiwania wizualnie zaznaczone, a może po prostu wciskamy cgo zmienić.

Wyszukiwany termin może nie być łatwą liczbą liter, słów, a nawet wierszy - a zresztą nie chcę liczyć.

Czy istnieje sposób vh(lub ch), powiedzmy, gdzie hdziała, dopóki nie zakończy się bieżące podświetlanie?

Odpowiedzi:


14

Możesz użyć do tego gnruchu, wybiera on następny wyszukiwany element.

Możesz go używać w następujący sposób:

/foo<CR>
gn            -> select the next "foo"
sbar<Esc>     -> (optional) substitute it with "bar"

Premia: Aby .powtórzyć wyszukiwanie i zmianę, użyj polecenia a, caby zrobić wszystko za pomocą jednego polecenia:

/foo<CR>
cgnbar<Esc>
...           -> find and change the 3 next foo

1
Fantastyczny! Dzięki. (Każdy, kto tak jak ja, tęskni za tym, dlaczego .powtórzy całą akcję i nie może sprawić, by działała - przeczytaj uważniej - cnajpierw! Nie mógłbym prosić o lepsze.)
OJFord

3
Pamiętaj, że możesz także użyć, gNaby wizualnie wybrać poprzednie dopasowanie.
statox

Jaka jest różnica między tym a naciśnięciem przycisku, naby przejść do następnego wyniku wyszukiwania?
user1717828,

zmienia również, więc zamiast powtarzać n.(przy kolejnym wystąpieniu, powtórz modyfikację), możesz po prostu nacisnąć .(powtórz modyfikację, czyli „zmień przy następnym wystąpieniu”)
nobe4 6.04.16

Rzeczywiście, po .wywołaniu gnoryginał foozniknął, więc Vim szuka następnego foo. Tak gnsamo jak nto, co by zrobił (i więcej). Ale, podobnie jak w przypadku n, zauważ, że działa to dobrze tylko wtedy, gdy barnie zawiera foo!
joeytwiddle
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.