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.