我最近将10j
映射到<A-j>
并将10k
映射到<A-k>
,这似乎很令人惊奇,但是存在一个问题:
当我正常键入10j
(不使用快捷键)时,它只会垂直向下移动10行,而根本不会水平移动(假设行长相同),但是当我使用{{1 }}它将总是(嗯,有趣的是,并非总是如此,但是在大多数情况下)也会向右移动一个字母。
非常有趣的是,这种情况仅发生在<A-j>
上,而<A-j>
可以正常工作。我该如何预防?也许最重要的是:为什么?
如果有帮助,这些是我的其他按键绑定:
<A-k>
是的,我非常喜欢Alt键。
答案 0 :(得分:4)
映射末尾有一个空格字符:
:nnoremap <A-j>
n <M-j> * 10j<Space>
<Space>
与l
相同;它将字符向右移动(如果可能)。
映射中的右侧按字面意义使用(直到行尾或|
命令分隔符)。另一个常见的错误是将" comment
附加到映射定义。
如果您经常偶然发现结尾的空白(在许多编码样式中通常会皱眉,并且Git之类的工具也将其突出显示为有问题的),那么我的ShowTrailingWhitespace plugin可以提醒您注意这些空白,而DeleteTrailingWhitespace plugin可以为您删除它们。 (插件页面具有指向其他插件的链接。)