Vim中的remap,noremap,nnoremap和vnoremap映射命令之间有什么区别?
是什么之间的区别remap
,noremap
,nnoremap
并vnoremap
在Vim的映射命令?
remap
是使映射递归工作的选项。默认情况下,它处于启用状态,我建议您采用这种方式。其余为映射命令,如下所述:
:map
并且:noremap
是各种映射命令的递归和非递归版本。这意味着如果您这样做:
:map j gg
:map Q j
:noremap W j
j
将映射到gg
。Q
将也被映射到gg
,因为j
会为递归映射扩大。W
将被映射到j
(而不是gg
),因为j
不会为非递归映射扩展。
现在请记住,Vim是模式编辑器。它具有普通模式,可视模式和其他模式。
对于这些映射集中的每组,都有一种映射在正常,可视,选择和运算符模式(:map
和:noremap
)下工作,在正常模式(:nmap
和:nnoremap
)下工作,在可视模式(:vmap
和:vnoremap
)下工作。
有关此的更多指导,请参阅:
:help :map
:help :noremap
:help recursive_mapping
:help :map-modes
赞 (0)