nore在vim中映射键时意味着什么?例如,这两个映射之间有什么区别?
:map ddd ddjdd
Run Code Online (Sandbox Code Playgroud)
和
:noremap ddd ddjdd
Run Code Online (Sandbox Code Playgroud)
这意味着映射是没有 N - 再草书.
为了显示,
:nmap x dd
Run Code Online (Sandbox Code Playgroud)
假设您x以正常模式映射到dd(删除行),以节省一些时间,删除行.一切正常,直到你需要其他映射中的x(删除字符)来删除两个字符,
:nmap c xx
Run Code Online (Sandbox Code Playgroud)
因为现在上层映射确实如此
:nmap c dddd
Run Code Online (Sandbox Code Playgroud)
即将删除两行.
因此,为了保留"原始"映射(vim键),您可以采用非递归方式,
:nnoremap x dd
:nnoremap c xx
Run Code Online (Sandbox Code Playgroud)
一切正常(映射不......啊,你明白了)......
使用"nore"进行所有映射通常是一种很好的做法,因为你永远不知道哪些插件可能依赖于什么,以及你用"普通"映射打破了什么样的vim行为.