我想知道如何禁用鼠标滚轮,但是我发现了this和this问题,我尝试将它们放到 .vimrc :
set mouse=""
map <ScrollWheelUp> <nop>
map <S-ScrollWheelUp> <nop>
map <ScrollWheelDown> <nop>
map <S-ScrollWheelDown> <nop>
但是没有一个会禁用鼠标滚轮,我仍然可以用它来滚动。
我在Arch Linux上,使用vim 7.4和gnome-terminal 3.16.2。
答案 0 :(得分:3)
这可能是一个侏儒终端问题而不是Vim问题。使用.vimrc,您可以通过在终端
中发出这些命令来打开和关闭鼠标滚轮echo -e '\e[?1000h'
echo -e '\e[?1000l'
编辑:以前的答案不起作用,因为gnome-terminal设置是 被肉桂的设置覆盖(在这种情况下),也许还因为 滚动是使用触摸板而不是鼠标完成的。可以禁用 在Synclient的帮助下滚动(命令行实用程序来配置和查询 Synaptics驱动程序设置)推出
augroup scroll
au!
au VimEnter * :silent !synclient VertEdgeScroll=0
au VimLeave * :silent !synclient VertEdgeScroll=1
augroup END
你的.vimrc中的。
此解决方案对于禁用滚动甚至不在Vim之外也不是最佳选择 只要Vim跑了。
答案 1 :(得分:3)
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
将选择复制到系统剪贴板中。