2011-12-21 3 views

ответ

17

В режиме вставки вы можете использовать CTRL-R, чтобы вставить содержимое регистров Vim. По умолчанию скопированный текст помещается в безымянный регистр ", поэтому для вставки этого текста вы должны ввести <C-R>" в режиме вставки. В запросе поиска используется Command-line mode, у которого есть свой собственный CTRL-R, который почти идентичен работе в режиме Вставки.

Так что, если бы я просто дернул текст foo, набрав /<C-R>", поиск текста foo как только я нажму кнопку enter.

+0

спасибо, он хорошо работает :) –

+1

строго говоря это не вставить но в режиме командной строки. И об этом: [см. Этот другой ответ] (http://stackoverflow.com/questions/3997078/how-to-paste-text-into-vim-command-line/3997110#3997110), который объясняет более подробно регистрацию , – Benoit

+0

@Benoit Я знал, что для этого режима должно быть какое-то имя. Обновлен мой ответ. –

2

У меня есть это отображение, определенное в моих vimrc, он отображает * для определения шаблона поиска как то, что в настоящее время выделено (вытекающего все потенциально опасных символов, и преобразования пространства в том, что выделяется в любую последовательность пробелов)

xnoremap * :<C-U>let old_reg=getreg('"')|let old_regtype=getregtype('"')<CR>gvy/<C-R><C-R>=substitute(substitute(escape(@", '/\.*$^~['), '\s\+', '\\s\\+', 'g'), '\_s\+', '\\_s*', 'g')<CR><CR>gV:call setreg('"', old_reg, old_regtype)<CR>:let v:searchforward=1<CR> 

Чтобы использовать его, начните визуальный режим с v, а затем выделите, что вы хотите найти, и нажмите * не y.

Конечно, вы можете отобразить # искать назад (точно так же, за исключением того, что v:searchforward должен быть установлен в 0.

1
:set hls 
:vmap * y:let @/ = @"<CR> 
  • set hls (высота свет поиска)
  • v =>hjkl (выберите что-то)
  • пресс *, скопируйте выделенный текст в реестр "
  • набор содержание рег / в "
  • пресс n/N для навигации
0

Если вас интересуют только запросы, вы можете использовать метод cheat. Yank слово через против или у + ж, а затем выдать команду

:%s//XYZ/gc 

Это будет искать последний искомое слово. Затем, когда вы его найдете, он попросит подтверждение заменить на XYZ, и все, что вам нужно сделать, это нажать q, чтобы выйти.

Смежные вопросы