2016-06-12 6 views
1

Есть простой способ (без особого количества нажатий клавиш), чтобы заменить следующее вхождение шаблона (в строке или во всем документе, оба будут интересны), начиная с позиции курсора?Vim: заменить один раз, начиная с позиции CURSOR (не строки)

До сих пор я только придумывал выбор, перешел в нормальный режим и делал :s/\%Vpattern/rep. Это слишком громоздко. Возможно, есть хороший способ выбрать следующее появление шаблона, и тогда можно «изменить» выбор?

Благодаря

ответ

2

Вы можете использовать гн

Просто поиск по шаблону, используя /

Выберите с помощью гн

После выбора вы можете выполнить любое действие на нем. Как y копировать, c изменить и т.д.

:h gn 
+0

У меня не было понятия 'gn'. Благодаря! – Rojo

3

Вы можете использовать опцию подтверждения с вашей замены. Используйте команду

:%s/pattern/replacement/gc 

Это проведет вас через каждое появление рисунка. Тип y для замены, n для перемещения без замены, и q для прекращения поиска.

+0

Это очень удобно (хотя и не идеально, если в строке есть другие экземпляры). Благодаря! – Rojo

+0

Если вы хотите видеть только первый экземпляр на каждой строке, вы можете просто оставить флаг 'g' в конце. – lwassink

Смежные вопросы