1
運營商通常我做搜索和VIM看起來像這樣的替換:不尋常的行爲符合或的vimrc
:%s/\([\.!?]\|[\.!?]"\)\s\s/\1text /g
所以看起來爲任何一個時期,感嘆號,問號,或任何以上接着是一個報價和兩個空格。它工作正常。
但是,當我在我的vimrc映射這個像這樣
map <F4> :%s/\([\.!?]\|[\.!?]"\)\s\s/\1text /g<CR>
,然後按F4我收到此錯誤信息:
E486: Pattern not found: \([\.!?]|[\.!?]"\)\s\s
據管之前去除反斜線出於某種原因,並我不知道爲什麼。有誰知道如何糾正這種行爲?
+1在一個答案兩個很好的提示!會+2 – Kent 2013-03-06 14:38:02
感謝您的遞歸信息。幫助我清理vimrc文件。 – thequerist 2013-03-06 14:40:13
讓我們清理那個正則表達式!匹配組不需要交替('\ |'),您可以使用'\ ='來獲得。 '\ ='匹配0或1次,儘可能多(考慮Perl的'?')。這使得替換爲:'%s/\([\。!?]「\ = \)\ s \ s/\ 1text/g'因爲我們沒有使用管道符號,所以不需要'' –
2013-03-06 14:46:35