Исправление неправильного сворачивания маркера в VIM

StackOverflow https://stackoverflow.com/questions/799951

  •  18-09-2019
  •  | 
  •  

Вопрос

Я по ошибке сложил маркер в свой .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
Это было полезно?

Решение

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

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

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

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

/{{{8/ /#A/

К этому

#A/ {{{8/

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top