如何禁用 vim 鼠标滚轮?

How to disable vim mouse wheel?

我想知道如何禁用鼠标滚轮,但是我发现了 this and this 问题并且我已经尝试将它们放入我的 .vimrc

set mouse=""

map <ScrollWheelUp> <nop>
map <S-ScrollWheelUp> <nop>
map <ScrollWheelDown> <nop>
map <S-ScrollWheelDown> <nop>

但是none他们会禁用鼠标滚轮,我仍然可以用它来滚动。

我在 Arch Linux 上,使用 vim 7.4 和 gnome-terminal 3.16.2。

这可能是 gnome 终端问题,而不是 Vim。使用你的 .vimrc,你可以通过在终端中发出这些命令来打开和关闭鼠标滚轮

echo -e '\e[?1000h'
echo -e '\e[?1000l'

编辑:之前的答案无效,因为 gnome 终端设置是 被 Cinnamon 的设置覆盖(在本例中),也可能是因为 滚动是使用触摸板而不是鼠标完成的。可以禁用 在 Synclient 的帮助下滚动(用于配置和查询的命令行实用程序 Synaptics 驱动程序设置) puting

augroup scroll
    au!
    au  VimEnter * :silent !synclient VertEdgeScroll=0
    au  VimLeave * :silent !synclient VertEdgeScroll=1
augroup END

在你的 .vimrc 中。

即使在 Vim 之外禁用滚动,此解决方案也不是最佳解决方案 只要 Vim 运行。

Dell XPS 和 Ubuntu 16.04 使用带有 vim 的滚轮是一种难以忍受的体验,我无法输入任何内容,因为我的手使光标每隔几个字符移动一次!

将此添加到 .vimrc 以完全禁用鼠标滚动:

set mouse=a

nmap <ScrollWheelUp> <nop>
nmap <S-ScrollWheelUp> <nop>
nmap <C-ScrollWheelUp> <nop>
nmap <ScrollWheelDown> <nop>
nmap <S-ScrollWheelDown> <nop>
nmap <C-ScrollWheelDown> <nop>
nmap <ScrollWheelLeft> <nop>
nmap <S-ScrollWheelLeft> <nop>
nmap <C-ScrollWheelLeft> <nop>
nmap <ScrollWheelRight> <nop>
nmap <S-ScrollWheelRight> <nop>
nmap <C-ScrollWheelRight> <nop>

imap <ScrollWheelUp> <nop>
imap <S-ScrollWheelUp> <nop>
imap <C-ScrollWheelUp> <nop>
imap <ScrollWheelDown> <nop>
imap <S-ScrollWheelDown> <nop>
imap <C-ScrollWheelDown> <nop>
imap <ScrollWheelLeft> <nop>
imap <S-ScrollWheelLeft> <nop>
imap <C-ScrollWheelLeft> <nop>
imap <ScrollWheelRight> <nop>
imap <S-ScrollWheelRight> <nop>
imap <C-ScrollWheelRight> <nop>

vmap <ScrollWheelUp> <nop>
vmap <S-ScrollWheelUp> <nop>
vmap <C-ScrollWheelUp> <nop>
vmap <ScrollWheelDown> <nop>
vmap <S-ScrollWheelDown> <nop>
vmap <C-ScrollWheelDown> <nop>
vmap <ScrollWheelLeft> <nop>
vmap <S-ScrollWheelLeft> <nop>
vmap <C-ScrollWheelLeft> <nop>
vmap <ScrollWheelRight> <nop>
vmap <S-ScrollWheelRight> <nop>
vmap <C-ScrollWheelRight> <nop>

您将无法再使用终端绑定使用 Ctrl+Shift+C 复制选择,因此您必须在 vim 中使用 "+y 将您的选择复制到系统中剪贴板。

将此添加到您的 .vimrc 以在 vim.

中禁用鼠标滚轮

来源:https://github.com/mintty/mintty/issues/170

" disable mouse wheel
let &t_ti.="\e[?7786l"
let &t_te.="\e[?7786h"