Візуальний вибір поточного результату пошуку


9

Я hlsearchвстановив, але іноді це натякає мене на думку про те, що у мене візуально вибрано пошуковий термін, і просто натисніть, cщоб змінити його.

Термін, який шукається, може бути не простою літерою, словами, навіть рядками - і все одно, я не хочу рахувати.

Чи є спосіб vh(або ch) скажімо, де hпробігає, поки не зупиниться поточне виділення?

Відповіді:


14

Ви можете використовувати gnрух для цього, він вибирає наступний шуканий елемент.

Ви можете використовувати його так:

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

Бонус: Щоб .повторити пошук і зміни, використовуйте a, cщоб зробити все в одній команді:

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

1
Фантастичний! Дякую. (Той, хто, як я, сумує, чому .повторить всю дію, і не може змусити її працювати - читайте уважніше - cспочатку! Не можу просити кращого.)
OJFord,

3
Зауважте, що ви також gNможете візуально вибрати попередній збіг.
statox

Яка різниця між цим і просто натисканням, nщоб перейти до наступного результату пошуку?
користувач1717828

це також робить зміни, тож замість повторення n.(наступне виникнення, повторіть модифікацію) ви можете просто натиснути .(повторити модифікацію, яка є "змінити наступну
появу

Дійсно, коли .викликає gn, оригінал fooзник, тож Вім шукає наступного foo. Так gnробить те n, що все-таки зробило б (і більше). Але, як і у випадку n, зауважте, що це добре працює лише тоді, коли barне містить foo!
joeytwiddle
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.