mag*_*ger 9 css regex vim replace
示例坏:
#main {
padding:0;
margin: 10px auto;
}
Run Code Online (Sandbox Code Playgroud)
示例好:
#main {padding:0;margin:10px auto;}
Run Code Online (Sandbox Code Playgroud)
我有很多CSS规则占用太多行.我无法弄清楚:%s/
要使用的命令.
ram*_*ion 16
这是一个单行:
:%s/{\_.\{-}}/\=substitute(submatch(0), '\n', '', 'g')/
Run Code Online (Sandbox Code Playgroud)
\_.
匹配任何字符,包括换行符,并且\{-}
是非贪婪版本*
,因此{\_.\{-}}
匹配一对匹配的花括号之间的所有内容.
在\=
允许替换Vim表达式,我们在这里用它来去掉所有换行符的结果'\n'
从匹配的文本(在submatch(0)
使用)substitute()
功能.
逆(将单行版本转换为多行版本)也可以作为一个班轮来完成:
:%s/{\_.\{-}}/\=substitute(submatch(0), '[{;]', '\0\r', 'g')/
Run Code Online (Sandbox Code Playgroud)