这个问题让我非常抓狂。我过去在 Windows 7 下使用过 Gvim 和 Autohotkey。由于各种原因,我将 CTRL+D 映射为类似于 Enter 的行为。到目前为止,这运作良好。在 Gvim 中,我将 Enter/Return 映射为向下翻页键:
nnoremap <cr> <PageDown>
这工作得很好。上周我决定再试一次 Ubuntu。
使用 Autokey,我将 CTRL+D 重新映射为类似于 Enter 的行为。
keyboard.send_key("<enter>")
这适用于 Ubuntu/Xubuntu、浏览器/Chrome、文本编辑器等所有内容。我正在使用 Gnome 终端。在那里,CTRL+D 的行为类似于 Enter。
当我在 Vim 中处于插入模式时,CTRL+D 的作用与 Enter 相同。在正常模式下,我没有得到 nnoremap 的预期行为。
我觉得这很奇怪,因为 CTRL+D 在终端和 Vim 的插入模式下运行良好。当我按“真实”回车时。我得到了行为(Vim 中的 Page down),但在正常模式下映射的 CTRL+D 没有得到相同的行为。在插入模式下,它的行为类似于 Enter。我试图更改地图,以检测问题,例如:
nnoremap <return> <PageDown>
nnoremap <Enter> <PageDown>
nnoremap <cr> ij
nnoremap <CR> ij
到目前为止,它们都没有在正常模式下使用 CTRL+D 工作。我觉得奇怪的是它在插入模式和终端中运行良好。我查看了 Vim 的手册以了解这里的内容。至今没有结果。
我使用 Vim 作为我的日常编辑器,所以对此我感到非常生气,因为我不明白为什么在正常模式下会出现此问题。有谁知道那里发生了什么?我真的很感谢你的帮助,因为这让我真的很疯狂。