Как найти выбранные (с v
и y
) строками? Обычно я ищу с /
, но я не могу вставить выбранную строку после /
.Как найти выделенный текст?
ответ
В режиме вставки вы можете использовать CTRL-R, чтобы вставить содержимое регистров Vim. По умолчанию скопированный текст помещается в безымянный регистр "
, поэтому для вставки этого текста вы должны ввести <C-R>"
в режиме вставки. В запросе поиска используется Command-line mode, у которого есть свой собственный CTRL-R, который почти идентичен работе в режиме Вставки.
Так что, если бы я просто дернул текст foo
, набрав /<C-R>"
, поиск текста foo
как только я нажму кнопку enter.
спасибо, он хорошо работает :) –
строго говоря это не вставить но в режиме командной строки. И об этом: [см. Этот другой ответ] (http://stackoverflow.com/questions/3997078/how-to-paste-text-into-vim-command-line/3997110#3997110), который объясняет более подробно регистрацию , – Benoit
@Benoit Я знал, что для этого режима должно быть какое-то имя. Обновлен мой ответ. –
У меня есть это отображение, определенное в моих 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.
:set hls
:vmap * y:let @/ = @"<CR>
set hls
(высота свет поиска)v
=>hjkl
(выберите что-то)- пресс
*
, скопируйте выделенный текст в реестр"
- набор содержание рег
/
в"
- пресс
n
/N
для навигации
Если вас интересуют только запросы, вы можете использовать метод cheat. Yank слово через против или у + ж, а затем выдать команду
:%s//XYZ/gc
Это будет искать последний искомое слово. Затем, когда вы его найдете, он попросит подтверждение заменить на XYZ
, и все, что вам нужно сделать, это нажать q
, чтобы выйти.
- 1. Удалить выделенный/выделенный текст
- 2. TextMate - Найти и заменить выделенный текст
- 3. Open XML word document - найти выделенный текст
- 4. Как получить выделенный текст?
- 5. Как чирикать выделенный текст?
- 6. Как нарисовать выделенный текст
- 7. Найти выделенный текст из нескольких текстов
- 8. jQuery: как обернуть выделенный текст
- 9. Как сохранить текст, выделенный синтаксисом?
- 10. Очистить ComboBox выделенный текст
- 11. выделенный текст в iframe
- 12. sIFR выделенный текст фона
- 13. Выделенный текст из ComboBox
- 14. jQuery - изменить выделенный текст
- 15. Получить выделенный текст
- 16. Получить выделенный текст
- 17. обнаружить выделенный текст
- 18. jQuery установить выделенный текст
- 19. Выделенный текст в TextView
- 20. Google Chrome выделенный текст
- 21. Выделенный текст в Word
- 22. захватить текст, выделенный мышью
- 23. KDevelop: преобразовать выделенный текст?
- 24. Chrome Extension выделенный текст
- 25. выделенный текст цвет фона
- 26. UITextview выделенный текст
- 27. цикл через выделенный текст.
- 28. UiTextView перетащить выделенный текст
- 29. Awesomplete - получить выделенный текст
- 30. Остановить выделенный текст HTML
Связанный вопрос: http://stackoverflow.com/questions/3997078/how-to-paste-text-into-vim-command-line – HaskellElephant