在我的 .vimrc 我有这些行
nmap :s :update<cr>
nmap <F5> :set number!<cr>
Run Code Online (Sandbox Code Playgroud)
如果没有前者的映射,后者就可以工作,否则就不行。为什么会这样?
的问题是,所述第二映射开始的方式,:s在:set中,触发器之前的映射。
一般来说,您应该使用非递归映射,除非您有理由使用递归映射。
在这种情况下,您必须使用
nnoremap :s :update<cr>
nnoremap <F5> :set number!<cr>
Run Code Online (Sandbox Code Playgroud)
更多信息请访问
:help recursive_mapping