2013-07-31 53 views
0

我试图创建悬而未决降价头映射操作逃了出来,在学习Vim脚本这里艰难地练习是从我的vimrc线:VIM正则表达式管道没有在执行命令

autocmd Filetype markdown :onoremap ih :<c-u>execute "normal! ?\\(^==\\+$\\|^--\\+$\\)\r:nohlsearch\rkvg_"<cr> 

我有这个错误

E486: Pattern not found: \(^==\+$|^--\+$\) 

我尝试了一些修改,但我有同样的结果,就好像管永远逃脱!

回答

4

里面一个:map命令,使用<Bar>代替管道符号:

autocmd Filetype markdown :onoremap ih :<c-u>execute "normal! ?\\(^==\\+$\\<bar>^--\\+$\\)\r:nohlsearch\rkvg_"<cr> 

即长:normal命令(实际执行搜索,一个实施例的命令,然后一些更多的命令,由\r分开)是丑陋。您最好使用:call search(...)而不是?命令,并将多个命令分解为:function