Используя Vim, я иногда смотрю на раздел исходного кода некоторое время и внезапно хочу, чтобы какая-то переменная на экране появилась. Это просто: /<var>
это подчеркивает их всех. Моя проблема в том, что поиск чаще всего сдвигает мое окно, поэтому я не смотрю на исходный код из того же места. Даже если он сдвинулся всего на несколько строк, он все равно меня отбрасывает, поскольку мне нужно потратить несколько секунд, чтобы выяснить, куда все переместилось.
Можно ли выделить критерий поиска, не перемещая курсор к следующему совпадению?
vim
search
highlighting
Эндрю Вуд
источник
источник
Ответы:
http://vim.wikia.com/wiki/VimTip1572
Если вы использовали этот плагин, вы можете просто включить функциональность
\ м
затем используйте клавишу NumPad, чтобы назначить цвет этому слову везде, не перемещая курсор.
1
Вы можете использовать много разных основных моментов одновременно для множества разных слов или более сложных шаблонов поиска, если хотите.
источник
Ответ Skyblue показывает суть идеи о том, как использовать обычную подсветку поиска для достижения желаемого.
Я расширил эту технику, создав связывание клавиш, которое работает аналогично
*
команде , но фактически не переходя к следующему совпадению.Моя благодарность garyjohn за то, что он указал на
expand()
эквивалент*
выбора слов в России (чтобы избежать использования*
самого себя и восстановления представления). Это достаточно упрощает код, чтобы он мог идти непосредственно в отображении (исключая использование функции). Я также добавил отображение, которое соответствует частичным словам (напримерg*
).источник
normal *
, заменивlet @/ = @/
наlet @/ = expand("<cword>")
.*
, но<cword>
это так.Вы также можете установить регистр поиска для переменной, которую вы хотите сопоставить.
Во-первых, убедитесь, что подсветка поиска включена:
Затем вы можете установить регистр поиска с помощью:
Это выделит все вхождения переменной без перехода к следующему совпадению.
Для получения дополнительной информации см.
:help @/
источник
Одним из способов является использование
:match
команды, например,Это выделит слово под курсором с помощью группы «Подсветка вопроса». Я часто использую группу Вопросов, потому что на моем терминале это хороший зеленый. Чтобы увидеть доступные группы подсветки, выполните
^R
И^W
являются Ctrl-R и Ctrl-W, соответственно, и заменено словом под курсором. Видетьподробнее об этом. Видеть
больше по
:match
команде. Чтобы очистить выделение, просто выполнитебез аргументов.
источник
Кроме того:
Вы можете захотеть:
источник
Как и
*
у нас:На это стоит взглянуть
:h [I
. Там мы найдем несколько интересных вещей, связанных с вашими потребностями.Есть аналогичный вопрос о stackoverflow, где я поставил свой ответ (немного более полный)
источник