macOS Sierra 终端 Vim Home/End 键

macOS Sierra Terminal Vim Home/End keys

自从升级到 macOS Sierra 后,我的主键和结束键在 vim 中不再有效。

它们在命令提示符下仍能正常工作。

在终端设置中我设置了主页发送“\001”和结束发送“\005”。

我已将 Terminal 键设置为 \001 ↖ 和 \005 ↘。在我的 .vimrc 上:

map  <C-A> <Home>
imap <C-A> <Home>
vmap <C-A> <Home>
map  <C-E> <End>
imap <C-E> <End>
vmap <C-E> <End>

如果您需要连接到很多远程服务器并且不想在任何地方都重新配置 vim,那么接受的答案不是一个很好的选择。我发现最好将 Terminal 键映射到 3[1~(Esc 后跟 [1~)和 3[4~(Esc 后跟 3[4~)。

仍有一些服务器不喜欢在命令行上使用这些代码——SUSE Enterprise Linux 将这些映射到 readlinehistory-search-backwardset-mark 命令,因此您可能仍然需要在这些系统上修改 /etc/inputrc~/.inputrc,但其他 Linux 发行版没有这个问题。