Создать команду Vim для поиска по регулярному выражению
У меня есть несколько выражений Regex, которые я использую с xVim для Xcode. Вместо того, чтобы многократно набирать их в командной строке с \<Regex>
Я хотел бы иметь возможность вызывать их с помощью специальной команды, например, :Regex1
, Итак, я добавил command Regex1 “/-\s*\(“
к моему xvimrc
файл и перезапустил Xcode. Когда я бегу :Regex1
однако ничего не происходит.
3 ответа
Ваша команда даже не будет работать в оригинальном Vim. Я не знаю xVim, но попробуйте что-то вроде этого:
" With cursor moving to match.
command Foo /foo/
" Just updating the search pattern (but less likely to be portable to xVim).
command Foo let @/ = 'foo'
Если ничего из этого не работает; попробуйте вместо этого определить отображение. Так как это всего лишь перевод ключей, у него самый высокий шанс на поддержку.
Сокращения...
Я понимаю, что вы часто используете одно и то же регулярное выражение. Вы можете использовать сокращения вместо команды, чтобы сделать поиск.
ab re -\s*(
затем введите / + re + space и ваше длинное регулярное выражение (здесь просто "-\s*(" должно раскрыться).
... Не определенная пользователем команда
Пользовательские команды не доступны ни в ed, ни в vi, ни в vim без флага компиляции +eval (:h user-commands
и прокрутите одну строку вверх).
Список бывших команд: http://www.csb.yale.edu/userguides/wordprocess/vi-summary.html
Список команд ed: http://pubs.opengroup.org/onlinepubs/7908799/xcu/ed.html
Я хотел бы предложить использовать этот плагин PERL Regex, поскольку он уже делает то, что вы хотите.