Есть ли простой способ сохранить обычно используемый шаблон Regex, чтобы я мог повторно использовать его между разными файлами? Я просматриваю много файлов журнала и всегда нуждаюсь в создании мягко сложного регулярного выражения (это не ракетостроение, но это боль повторить), чтобы найти ошибки, поэтому было бы неплохо иметь способ вспомнить, что без необходимости сохранять его в тексте файл и вставлять его в параметры поиска каждый раз.
Сохранить часто используемые шаблоны регулярных выражений в Vim?
Ответ 1
Помещенный:
source ~/.regexlist.vim
в ваш vimrc.
Сделайте поиск. Решите, что вы, возможно, захотите снова использовать этот. Введите это буквально:
:sp ~/.regexlist.vim<CR>
olet MyRegExName = '<C-R>/'<ESC>
:w<CR>
:so %<CR>
:q<CR>
Где <C-R>
- Ctrl R, <CR>
- ENTER, а <ESC>
- ESC.
В следующий раз, когда вы хотите его использовать:
/<C-R>=MyRegExName<CR><CR>
Ctrl-R - ваш друг! Ctrl-R, за которым следует/вытягивает последний поиск. Ctrl-R, за которым следует =, позволяет ввести выражение.
Ответ 2
Существует несколько способов:
- Создайте сопоставление, которое делает то, что вы хотите, и добавьте его в
.vimrc
, например:map /foo /[long complicated regex]
. Но будьте осторожны, что это затруднит поиск литеральной строки "foo", хотя это можно сделать с помощью экранов Ctrl-V. Другой способ - использовать другой префикс для пользовательских поисков регулярных выражений, например.map ::foo /[complicated regex]
. - Создайте функцию, которая ищет нужный вам регулярный поиск, и добавьте его в
.vimrc
. - Некоторая комбинация вышеперечисленных
Ответ 3
Просто нажмите /
и затем стрелку вверх.
Или создайте команды для вызова поиска в регулярном выражении.
:command -nargs=0 Errors vimgrep "Error\s*regexp" % | cw 15
а затем просто
:Errors
Ответ 4
Если вы начали вводить команду в vim, включая поиск или замену, нажатие "вверх" должно искать в вашей истории недавно использованные команды с тем же префиксом.
Ответ 5
Создайте файл, в котором вы планируете хранить шаблоны регулярных выражений, и держите его открытым в отдельной вкладке или окне при просмотре файлов журнала.
Чтобы добавить шаблон поиска, который вы только что использовали для вашего файла, введите буквально:
o<CTRL-R>/
Когда вам нужно использовать шаблон из своего списка, перейдите к этой строке и введите буквально:
yyq/p<CR>
Затем вы можете переключать вкладки/окна, а затем нажимать n или N для поиска.