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 将这些映射到 readline
的 history-search-backward
和 set-mark
命令,因此您可能仍然需要在这些系统上修改 /etc/inputrc
或 ~/.inputrc
,但其他 Linux 发行版没有这个问题。
自从升级到 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 将这些映射到 readline
的 history-search-backward
和 set-mark
命令,因此您可能仍然需要在这些系统上修改 /etc/inputrc
或 ~/.inputrc
,但其他 Linux 发行版没有这个问题。