我想让我的外接键盘的HOME、END和PAGEDOWN在PAGEUPLeopard 的终端上工作。因此我在终端 > 文件 > 首选项中进行了更改:
Home: \033[H
End: \033[F
PageUp: \033[5~
PageDown: \033[6~
它在命令行中 100% 有效 - 但在 VIM 中编辑文件时无效。
是否有可能重新映射 VIM 键盘以使这些键正常工作?
问候
答案1
如果根据问题,您已经知道映射,那么这很容易。
Home: \033[H
End: \033[F
PageUp: \033[5~
PageDown: \033[6~
只需编辑 ~/.vimrc 并添加:
map <Esc>[H <Home>
imap <Esc>[H <Home>
map <Esc>[F <End>
imap <Esc>[F <End>
map <Esc>[5~ <PageUp>
imap <Esc>[5~ <PageUp>
map <Esc>[6~ <PageDown>
imap <Esc>[6~ <PageDown>
答案2
尝试
:imap <C-k><Home> <Home>
:map <C-k><Home> <Home>
-- 实际上同时按下 control-k 和 home 键,输入 vim 从 home 键读取的内容,然后输入第二个<Home>
。其他绑定也是如此。请参阅:help :map
和:help <>
。
答案3
我已经永久地解决了它。
就我而言,我已经在 vim 中映射了它:
:imap <C-v><Home> <Home>
:map <C-v><Home> <Home>
—— 实际上是同时按下 control-v 和 home 键,输入 vim 从我的 home 键读取的内容,然后输入第二个。
它有效,但只在当前会话中有效。
因此,我只需输入以下命令,然后输入 <进入>
:map
然后我得到了映射
<Esc>[H <Home>
现在,我只需将其添加到我的 ~/.vimrc 文件中:
map <Esc>[H <Home>
imap <Esc>[H <Home>
现在它被重新映射到我的用户的所有 vim 会话。