Сохранить часто используемые шаблоны регулярных выражений в Vim? - PullRequest
22 голосов
/ 04 февраля 2010

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

Ответы [ 5 ]

15 голосов
/ 04 февраля 2010

Введите:

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 с последующим = позволяет вам ввести выражение.

3 голосов
/ 04 февраля 2010

Есть несколько способов:

  • Создайте отображение, которое делает то, что вы хотите, и добавьте его к вашему .vimrc, например: map /foo /[long complicated regex]. Но имейте в виду, что это затруднит поиск буквенной строки "foo", хотя это можно сделать с помощью escape-клавиш Ctrl-V. Другим способом является использование какого-либо другого префикса для пользовательских поисков регулярных выражений, например, map ::foo /[complicated regex].
  • Создайте функцию, которая будет выполнять поиск по регулярному выражению, и добавьте ее в свой .vimrc.
  • Некоторая комбинация вышеперечисленного
2 голосов
/ 04 февраля 2010

Если вы начали вводить команду в vim, включая поиск или замену, нажатие «вверх» должно найти в вашей истории недавно использованные команды с таким же префиксом.

2 голосов
/ 04 февраля 2010

Просто нажмите / и затем стрелку вверх.

Или создайте команды для запуска поиска регулярных выражений.

:command -nargs=0 Errors vimgrep "Error\s*regexp" % | cw 15

, а затем просто

:Errors
0 голосов
/ 28 августа 2014

Создайте файл, в котором вы планируете хранить шаблоны регулярных выражений, и оставляйте его открытым на отдельной вкладке или в окне при просмотре файлов журнала.

Чтобы добавить шаблон поиска, который вы только что использовали в свой файл, введите буквально:

o<CTRL-R>/

Если вам нужно использовать шаблон из списка, перейдите к этой строке и введите буквально:

yyq/p<CR>

Затем вы можете переключать вкладки / окна, а затем нажимать n или N для поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...