Vim – выберите текст, выделенный поиском?

В vim я часто выполняю поиск до прыжка на слово или фразу, а не навигация там с h/j/k/l . Затем я нажимаю n для перехода между вхождениями.

Скажем, у меня есть этот текст:

 Time flies like an arrow; fruit flies like a banana. - Groucho Marx 

Я печатаю /an arrow и нажимаю enter. Эта фраза выделена, и я перехожу к ней с помощью n .

Теперь я хочу визуально выбрать этот текст , возможно, изменить его или удалить. (Да, я знаю команду подстановки :s .)

Поскольку мой курсор находится в букве «a» в начале «стрелки», я могу нажать v , а затем несколько раз нажать e чтобы выделить всю фразу. Но у меня есть ощущение, что есть более короткий и более семантический путь. В конце концов, я уже указал текст, который мне интересен.

Как я могу составить команду, чтобы сказать «визуально выбрать текущий выбор поиска

5 Solutions collect form web for “Vim – выберите текст, выделенный поиском?”

Вы можете использовать gn в версии 7.4 и далее (и gN для перехода назад). Он заменяет трюк v//e .

Найдите вперед последний использованный шаблон поиска, например, с помощью `n`, и запустите визуальный режим, чтобы выбрать совпадение.

Смотрите :help gn или этот Vimcast для получения дополнительной информации.

Попробуй это:

 /an arrow v//e 

Он переходит в визуальный режим, повторяет последний поиск и выбирает до конца.

Я обнаружил, что v//e сам по себе недостаточен, потому что после выхода из визуального режима, переход к следующему / предыдущему результату поиска помещает курсор в конец результата, а не в начале, как вы обычно ожидали.

Чтобы исправить это, мы должны сначала перейти к концу результата поиска ( //e ), а затем визуально выбрать его начало ( v?? ):

 " visually select a search result nnoremap g/ //e<Enter>v??<Enter> 

Приветствия.

Теперь есть плагин Vim-Search-Objects, который позволяет Vim обрабатывать поиск как обычные текстовые объекты, поэтому вы можете просто va/ (визуально выбрать совпадение) после выполнения поиска.

«Дамбер» способ сделать это – отобразить ключ (в данном случае F5), как показано ниже:

 nnoremap <F5> v/<cr>=strpart(@/,1) . '/e+1'<CR><CR> 

После /an arrow попадает F5.

  • VIM уничтожает символические ссылки под Windows
  • Поддержка цвета 256 для фона vim в tmux
  • Firefox - Как открыть ссылку (в любой текстовый файл) в Vim?
  • Вызов vi через find | Xargs ломает мой терминал. Зачем?
  • Как установить VIM на Linux, если у меня нет прав root?
  • Странная вставка из Vim по щелчку мыши
  • PDF-XChange Viewer, pdflatex, Windows XP Pro SP3
  • Как переключаться между окнами на VIM?
  • Различные цвета фона для нескольких типов файлов в vim
  • Как открыть файлы в вертикально / горизонтальных разделенных окнах в Vim из командной строки
  • Можно ли изменить значки на панели инструментов в gVim?
  • Как ESC также отменяет CAPS, если CAPS включен?
  • Interesting Posts

    Аномально высокое использование памяти в Windows 10

    Как подсчитать количество различных значений в диапазоне?

    Автоматическая остановка машины VirtualBox, как остановить ее при автоматическом отключении

    Неиспользуемый, неподдающийся PDF-документ

    Могу ли я удалить файлы из C: \ WINDOWS \ SoftwareDistribution \ Download?

    Почему моя система использует только 3,2 ГБ моего 4GM RAM?

    Чипсет поддерживает 8 ГБ оперативной памяти, а компьютер 32 бит?

    Excel Vba (кнопка onclick)

    Как заставить IE открывать JavaScript как текст

    Файлы доступны только для чтения и отказываются изменять

    Рекурсивно заменяет каждый экземпляр слова в каталоге из командной строки linux

    Могу ли я заставить dpkg игнорировать ошибку, возвращаемую после сценария после установки?

    Минимальные разумные системные требования для Windows 7 Media Center

    Как переименовать некоторые файлы в соответствии с их меткой времени

    Как ускорить Flash на медленном нетбуке?

    Давайте будем гением компьютера.