Нет, YAML не включает никаких выражений «import» или «include».
\ <
и \>
означают границы слов. В Perl, grep и less (чтобы назвать 3 OTOH) для этого используется \ b
, поэтому я полагаю, что то же самое и в Ruby.
Что касается вашего второго вопроса, escape необходим для всего выражения {3}
. Вы избегаете не каждой фигурной скобки, а всего целого вместе.
Подробнее см. этот вопрос .
Правила Vim для экранирования обратной косой черты в регулярных выражениях несовместимы. Вы должны экранировать открывающую скобку \ {...}
, но [...]
не требует экранирования вообще, а группа захвата - \ (. .. \)
(экранирование как open, так и close). Есть и другие несоответствия.
К счастью, Vim позволяет вам изменить это поведение, даже для каждого регулярного выражения, с помощью настроек magic
. Если вы поместите \ v
в начало регулярного выражения, правила экранирования станут более согласованными; все "волшебно" кроме цифр, букв, и подчеркивания, поэтому вам не нужны обратные косые черты, если вы не хотите вставить буквальный символ, отличный от этих.
Ваш первый пример будет иметь вид : g / \ v /
, а ваш второй пример станет / \ v ^ \ n {3}
. См. : h / magic
и : h / \ v
для получения дополнительной информации.
Для ваше первое регулярное выражение, вы также можете:
:g/[^\ ]ruby\ /
Это обеспечит наличие пробела до и после ключевого слова ruby.