Подтвердить что ты не робот

Сохранить часто используемые шаблоны регулярных выражений в Vim?

Есть ли простой способ сохранить обычно используемый шаблон Regex, чтобы я мог повторно использовать его между разными файлами? Я просматриваю много файлов журнала и всегда нуждаюсь в создании мягко сложного регулярного выражения (это не ракетостроение, но это боль повторить), чтобы найти ошибки, поэтому было бы неплохо иметь способ вспомнить, что без необходимости сохранять его в тексте файл и вставлять его в параметры поиска каждый раз.

4b9b3361

Ответ 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 для поиска.