Vim <A-j> 10j的键绑定将光标向右移动

时间:2019-12-20 10:41:02

标签: vim

我最近将10j映射到<A-j>并将10k映射到<A-k>,这似乎很令人惊奇,但是存在一个问题:

当我正常键入10j(不使用快捷键)时,它只会垂直向下移动10行,而根本不会水平移动(假设行长相同),但是当我使用{{1 }}它将总是(嗯,有趣的是,并非总是如此,但是在大多数情况下)也会向右移动一个字母。

非常有趣的是,这种情况仅发生在<A-j>上,而<A-j>可以正常工作。我该如何预防?也许最重要的是:为什么?

如果有帮助,这些是我的其他按键绑定:

<A-k>

是的,我非常喜欢Alt键。

1 个答案:

答案 0 :(得分:4)

映射末尾有一个空格字符:

:nnoremap <A-j>
n  <M-j>       * 10j<Space>

<Space>l相同;它将字符向右移动(如果可能)。

映射中的右侧按字面意义使用(直到行尾或|命令分隔符)。另一个常见的错误是将" comment附加到映射定义。

插件建议

如果您经常偶然发现结尾的空白(在许多编码样式中通常会皱眉,并且Git之类的工具也将其突出显示为有问题的),那么我的ShowTrailingWhitespace plugin可以提醒您注意这些空白,而DeleteTrailingWhitespace plugin可以为您删除它们。 (插件页面具有指向其他插件的链接。)