我如何在Vim中进行shift +空格键翻页?
我在我的.vimrc中有一个条目,当我点击空格键时,它使页面向下翻页。 它看起来像这样:
map <Space> <PageDown>
我想创build另一个按键映射,当按住shift键并按空格键时,将视口向上翻页。 我已经尝试了以下条目:
map <Shift><Space> <PageUp> map <S-Space> <PageUp>
既没有工作。 任何人都知道如何实现这个function?
你不能。 CMS的解决scheme将适用于gVim,但不适用于vim,因为terminal无法区分<Space>和<S-Space>,因为curses看到它们相同。 如果vim获得libtermkey的支持,terminal支持正确的<CSI>序列(如果configuration正确,xterm没有做任何事情),将来可能会有这种情况。
如果您在iTerm2中使用vim,您可以通过发送hex键15将shift-space映射到ctrl + U。这是一个屏幕截图:
要查找一个hex代码为一个Ctrl +字母组合,例如Ctrl + U,您可以执行以下操作:
- 在vim中进入插入模式
- 按ctrl + v,然后ctrl + u,然后ctrl + c然后ga
- 各种数字表示将打印在底部
您可以将此想法应用于支持密钥映射的其他terminal仿真器。
用这个:
map <Space> ^D " Pagedown when press Space map <S-Space> ^U " Page Up when press Shift Space
要正确获取^ D和^ U符号,只需按下Control-V Control-D和Control-V Control-U
对于OSX:
nnoremap <Space> <Cd> nnoremap <S-Space> <Cu>