我正在运行 Windows 7 x64 和 Gvim 7.4
使用外接鼠标时,我想知道如何实现“水平滚动”,我阅读了所有相关文档,但仍然不知道如何实现。对我来说,“水平滚动”意味着按住鼠标中键并水平移动鼠标。但那根本行不通。本质上,我想要实现的是这样的VS 插件。
我知道,zl/zh
但我想通过鼠标水平滚动(通过按住 MMB 并像我说的那样水平移动,不知何故,也许?)
那么ScrollWheelLeft
/ScrollWheelRight
事件何时被触发?
谢谢!
答案1
我认为更好的方法是使用Ctrl-F/Ctrl-D/Ctrl-B/Ctrl-U
键盘上的 或任何其他替代方法。
话虽如此,您可以尝试将鼠标中键映射到其他鼠标按钮上的现有功能:
map <MiddleDrag> <LeftMouse>
附加信息:
Vim 提示 696:“使鼠标拖动不选择文本或进入可视模式”
编辑:
上面的映射在这里运行良好。
如果您需要更多/更精细的控制,您可以查看:帮助‘鼠标’——它包含指向其他相关帮助条目的链接。
为了直接处理事件(并可能传递给 vim-smooth-scroll 插件),您应该映射鼠标生成的键码。*nix 的解释如下:help 鼠标按下。
答案2
我发现这也非常有帮助
"Scroll screen one char in all directions 'without' moving cursor
nnoremap <C-i> <C-y>
nnoremap <C-k> <C-e>
vnoremap <C-i> <C-y>
vnoremap <C-k> <C-e>
nnoremap <C-j> zh
nnoremap <C-l> zl
vnoremap <C-j> zh
vnoremap <C-l> zl