Исправление неправильного сворачивания маркера в VIM - PullRequest
0 голосов
/ 29 апреля 2009

Я по ошибке сделал сворачивание маркера на свой .vimrc:

{{{8 #CS
something..
}}}8  
{{{9 #Math
...
}}}9  
... many more!

Мне нужно изменить формат на "#SOMETHING {{{NUMBER", например:

#CS {{{8 
something..
}}}8  
#Math {{{9 
...
}}}9  
... many more!

Что не так в следующем коде:

:%s$/({{{\d/) /(#[:alpha:]/)$\2 \1$g

[Решение]

%s$\({{{\d\) \(#[[:alnum:]]*\)$\2 \1$g

Ответы [ 2 ]

1 голос
/ 29 апреля 2009

Вы забыли экранировать скобки, и классы символов POSIX действительны только внутри класса символов [[:alpha:]]:

:%s$/\({{{\d/\) /\(#[[:alpha:]]/\)$\2 \1$g

Обратите внимание, однако, что ваш пример текста не содержит косых черт - это то, что на самом деле ваш образец текста?

Приведенное выше регулярное выражение меняет это

/{{{8/ /#A/

К этому

#A/ {{{8/
1 голос
/ 29 апреля 2009

:%s/{{{\(\d\) \(.*\)/\2 {{{\1/g

это работает, но в вашем регулярном выражении я не понимаю, почему вы получили $ после с.

...