При написании C ++ я использую плагины vim и vim для Visual Studio. Часто мне хочется искать строку внутри функции, например, при каждом вызове object->public_member.memberfunc()
.
Я знаю, что vim предлагает удобный способ поиска отдельного слова, нажав *
и #
, а также может искать набранные строки с помощью повсеместной /
команды косой черты . При попытке найти все экземпляры более длинной строки, подобной приведенной выше, потребуется некоторое время для повторного ввода после /
.
Есть ли способ поиска по выделению? Например, выделите с помощью v
, а затем скопируйте с помощью y
, есть ли способ вставить после /
? Есть более простой способ?
vim
viemu
string-search
Марчин
источник
источник
Ответы:
Проверьте этот совет Vim: ищите визуально выделенный текст
Или вы можете просто выдернуть выделенный текст с помощью y и перейти в режим поиска / , затем вы можете вставить последний извлеченный текст с помощью Ctrl + R 0
источник
Ответ
Объяснение
q/
работает аналогично обычному поиску,/
за исключением того, что вы находитесь в командном режиме, поэтомуp
фактически выполняет «вставку» вместо ввода символаp
. Таким образом, приведенное выше скопирует текст, который вы ищете, и вставит его в поиск.Для получения более подробной информации введите
:help q/
источник
evil-mode
это действительно работает, тогда как принятый ответ с треском ломается (вероятно, из-за использованияCtrl
ключа).q/gvp
gv
q/gvp
у меня не работает. Не могли бы вы пояснить свое предложение?Используйте q / вместо просто / . ( То же самое с д : ). Теперь вы можете редактировать VIM через свою историю команд и поиска! (Попробуйте как-нибудь Ctrl-N и Ctrl-P).
источник
Я только что узнал (из прекрасной книги « Практический Vim» ), что для этого есть плагин. Вы можете найти плагин на GitHub .
Плагин позволяет искать визуальное выделение с помощью
*
и#
.источник
magic
настройки. Это может даже привести к сбою поиска метасимволов, требующих балансировки. Упомянутый здесь плагин выполнит экранирование перед поиском выделенного текста.n
для перехода к следующему найденному элементу, в то время как подходы Кори и CMS позволяют ..Вы можете выделить текст визуально и нажать * и # для поиска следующего вхождения ... Он будет работать так же, единственное предостережение:
http://vim.wikia.com/wiki/Search_for_visually_selected_text
источник