Может ли vim(или какой-нибудь плагин) подсвечивать текущие совпадающие слова при вводе команды замены? Например, дан следующий документ:

attribute_list = [
    ("attribute_1", int),
    ("attribute_2", float),
    ("attribute_3", int),
]

Я хочу заменить все int на bool командой vim :%s/int/bool/g . Когда я :%s/in можно ВИМ выделить все in в документе? Мне нужна эта функция, потому что я хочу проверить правильность моего шаблона поиска, когда я заменяю некоторый текст регулярным выражением.

Плагин vim EasyMotion имеет аналогичную функцию. Он может выделить все текущие совпадающие слова при поиске.

1 ответ1

0

Там нет такой встроенной опции. Такое поведение можно построить, подключив ввод символов в командной строке, но поскольку для этого нет универсального autocmd, вам придется переопределить каждый возможный типизированный ключ и рискнуть вмешаться в другие плагины или сокращения.

Однако в вашем рабочем процессе есть простая настройка, которая дает вам похожее поведение, и я бы посоветовал сделать это в качестве гораздо лучшей альтернативы: сначала выполните поиск шаблона с помощью /int ; если у вас есть :set hlsearch incsearch , вы будете иметь подсветку совпадений на лету. Примите совпадение через <CR> , а затем выполните замену. Вам не нужно повторять шаблон поиска там, так что это становится:

:%s//bool/g

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .