Поиск слова под курсором - PullRequest
0 голосов
/ 30 апреля 2018

Когда я использую g * или * или g #, это вызовет поиск слова под курсором. Однако курсор перемещается к следующему / предыдущему вхождению этого слова. Есть ли способ поиска текущего слова без перемещения курсора?

Это раздражает, потому что часто я хочу нажать

  1. *
  2. :. + 5s / Foo / бар / г

Но эта проблема заставляет меня делать

  1. *
  2. затем Shift + * (я хочу пропустить это)
  3. мой поиск и замена.

Ответы [ 3 ]

0 голосов
/ 30 апреля 2018

Вместо нажатия * для заполнения шаблона поиска скопируйте слово непосредственно в командную строку, используя CTRL-R CTRL-W . I.e.:

:.,+5s/<C-R><C-W>/bar/g
0 голосов
/ 09 октября 2018

Изменение функциональности * / # / g* и т. Д. На не прыжок (особенно без заданного [count]) является частым запросом. Поэтому множество плагинов изменяет поведение Vim по умолчанию, часто вместе с другими командами, связанными с поиском. Мой SearchHighlighting плагин является одним из таких плагинов. (На странице плагинов есть ссылки на множество альтернативных плагинов, которые также можно попробовать.)

@ Принятый ответ romainl - это минимальное решение с некоторыми недостатками (например, мерцание экрана, возможное изменение окна просмотра окна), которых избегает большинство плагинов.

0 голосов
/ 30 апреля 2018

Есть ли способ поиска текущего слова без перемещения курсора?

Суть *, # и друзей довольно ясно изложена в документации: «искать вперед» или «искать назад». Похоже, ваша проблема заключается в том, что вы используете эти команды не по назначению, а для побочного эффекта, предположительно выделяя все вхождения слова под курсором.

Поскольку для этого нет встроенной команды, вам необходимо сопоставить ее самостоятельно:

nnoremap <key> *``
nnoremap <anotherkey> #``
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...