44

Я знаю, что могу использовать / с последующим регулярным выражением для поиска чего-либо. А я могу использовать ? искать в обратном направлении. И я могу использовать n и N, чтобы повторить поиск вперед и назад.

Есть также два приятных сочетания клавиш: * или # будет искать слово под курсором (вперед / назад). Это очень полезно! (есть также варианты g * и g # )

Но... Как только я выбрал текст в визуальном режиме (v), как я могу попросить Vim выполнить поиск именно этого текста? Быстрый взгляд на :help не ... да ... помогите мне.

5 ответов5

54

Вы можете сначала восстановить выделенный текст. затем

  • /

  • Ctrl r

  • "

Который будет вставлять то, что вы дернули после /.

7

Я никогда не чувствовал необходимости в такой функции, но, учитывая, что вы можете найти потребность в любой функции в Vim, я думаю, что это должно помочь:

Поиск визуально выделенного текста

Я не тестировал его, но, глядя на код, кажется, это именно то, что вы ищете.

5

Следующая последовательность будет делать то, что вы хотите, учитывая уже выделенный блок текста:

  • y (вернуть выделенный текст в " регистр по умолчанию»)
  • / (войти в режим поиска)
  • (\ V) (необязательно, введите режим "очень без магии" *)
  • Ctrl+r " (вставить текст из " реестра)
  • Enter (занимайся!)

(*) Режим "очень без магии" интерпретирует следующий текст как обычный текст, а не как регулярное выражение. заметьте, однако, что \ и / все еще особенные и должны быть обработаны другими способами. Если в тексте нет символов, считающихся специальными, вы можете пропустить этот шаг.

Источник: Vim Tips Wiki

4

Вы можете найти метод для создания этого поведения здесь, на вики-сайте vim.

0

В моих конфигурациях на двух отдельных машинах, если я выбираю текст, а затем нажимаю / он автоматически ищет выделенный текст.

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