Ответ 1
Вы можете использовать:
:%s/<c-r><c-w>/new value/g
где <c-r><c-w>
означает буквально ввести CTRL - r CTRL - w, чтобы вставить слово под курсором.
Если вы нажмете * в Vim, редактор будет искать следующее вхождение этого слова в том же файле. Это избавляет вас от необходимости вводить термин.
Есть ли быстрый способ заменить термин, находящийся под курсором, новым? Один символ для выдачи команды, введя новый термин, затем Enter.
Вы можете использовать:
:%s/<c-r><c-w>/new value/g
где <c-r><c-w>
означает буквально ввести CTRL - r CTRL - w, чтобы вставить слово под курсором.
Просто используйте *, а затем:
:%s//new value/
Если вы не укажете шаблон, команда substitute использует последний найденный.
В зависимости от значения gdefault
в вашей конфигурации вам может потребоваться добавить модификатор /g
к этой команде.
В дополнение к другим ответам вы можете сэкономить еще несколько нажатий клавиш, добавив следующий фрагмент в ваш .vimrc файл для выполнения глобального поиска и замены.
" Search and replace word under cursor using F4
nnoremap <F4> :%s/<c-r><c-w>/<c-r><c-w>/gc<c-f>$F/i
Я пошел вперед и взломал плагин, который позволяет вам просто ввести следующее:
:Dr REPLACEVALUE