vim映射有一个重要部分:
:map <C-j>r f{^
我注意到,当在行中找不到{
字符时,则不执行映射的其余部分。
有没有办法,即使找不到搜索字符,如何强制映射继续? (在这种情况下执行返回文件的开头)
答案 0 :(得分:0)
是的,Vim在映射中中止错误。无论错误如何,您都可以使用:silent! normal! ...
继续。使用一系列:normal!
命令,您甚至可以检查(例如光标是否移动)并对其作出反应。草图:
:map <C-j>r :exe 'normal! maf{'<Bar>if getpos("'a") == getpos(".")<Bar>echo "no move"<Bar>endif<CR>
请注意,这不能很好地扩展。您最好将命令移动到:function
。
Also, you should probably use :noremap
;它使映射不受重映射和递归的影响。
这个问题的字面答案是:
:map <C-j>r :silent! exe "normal f{^"<CR>