Nonrecursive Mapping

Nonrecursive Mapping

Content #

考虑下面的Vim映射:

nmap dd O<esc>jddk

在执行时会进入递归,不断插入空行。

map命令的两个缺陷:

  1. 了入递归的危险。
  2. 新插件按键映射可能会改变原来按键的行为。

Vim的解决方案是使用*noremap系列的按键映射。比如:

:nmap x dd
:nnoremap \ x

映射后,按下\键只会删除当前字符,并不会删除整行。

实际上,任何时候都应该使用*noremap系列的按键映射。

From #