Thursday, January 27, 2011

vim 匹配 latex 一个 block (environment)

想把型如

\caption{...
...
...}

这样的东西删掉.
必须做到: 
1. multiple line (跨行匹配) => 使用 \_. 而不是 .
2. non-greedy (否则会到下一个block的`}')  => 使用 \{-} 而不是 *

所以写出来就是:

\\caption{\_.\{-}}\n

注意我用了\n 在最后面, 否则会匹配到\caption环境里面的某个`}'.
因为一般我caption后面不加东西. 所以使用\n作为终止判断.
当然也可以用$, 如果有空格则失效.
不过, 可以extend成后面带任意whitespace的版本. 此略.

No comments: