分页: 1 / 1

vim用正则表达式替换文本的问题

发表于 : 2009-01-09 1:10
Dic4000
总觉的在vim中用正则表达式替换文本很不方便,因为要在几乎大部分的元字符上加上 \ 来转义,如下面的例子:

代码: 全选

:s/^\d\+//g
这个例子在元字符d和+前都加了转义符 \
请问有没有可能设置一下vim,与标准的正则表达式一样,不必输入 \ 来转义,就像下面一样:

代码: 全选

:s/^d+//g

Re: vim用正则表达式替换文本的问题

发表于 : 2009-01-09 8:39
eexpress
\不就是区分正常字符和控制字符的嘛。

Re: vim用正则表达式替换文本的问题

发表于 : 2009-01-09 10:05
Strange
没有的
不光vim,各个工具在实现正则表达式的语法上都有或多或少的差别
比如grep, vim, notepad++, javascript, perl,regex语法上都有不同,这个只能自己去适应了

Re: vim用正则表达式替换文本的问题

发表于 : 2009-01-09 10:19
ranfow
:em01 加了才更有意思,没有就乱套了

Re: vim用正则表达式替换文本的问题

发表于 : 2009-01-13 9:31
ibear
:h magic

Re: vim用正则表达式替换文本的问题

发表于 : 2009-01-13 18:49
sarrow
请问有没有可能设置一下vim,与标准的正则表达式一样,不必输入 \ 来转义,就像下面一样:
代码:
:s/^d+//g
"与标准的正则表达式一样"不知道你这是哪门子标准?

其实,vim的正则分割符是很灵活的。好像任意的非字母符号都可以作为正则式分割符。

比如#,|等等。你可以根据自己的需要进行选择,以减少转义字符的使用。