Do meu ~ / .gvimrc:
" Scroll Wheel = Up/Down 4 lines
" Shift + Scroll Wheel = Up/Down 1 page
" Control + Scroll Wheel = Up/Down 1/2 page
" Meta + Scroll Wheel = Up/Down 1 line
noremap <ScrollWheelUp> 4<C-Y>
noremap <ScrollWheelDown> 4<C-E>
noremap <S-ScrollWheelUp> <C-B>
noremap <S-ScrollWheelDown> <C-F>
noremap <C-ScrollWheelUp> <C-U>
noremap <C-ScrollWheelDown> <C-D>
noremap <M-ScrollWheelUp> <C-Y>
noremap <M-ScrollWheelDown> <C-E>
inoremap <ScrollWheelUp> <C-O>4<C-Y>
inoremap <ScrollWheelDown> <C-O>4<C-E>
inoremap <S-ScrollWheelUp> <C-O><C-B>
inoremap <S-ScrollWheelDown> <C-O><C-F>
inoremap <C-ScrollWheelUp> <C-O><C-U>
inoremap <C-ScrollWheelDown> <C-O><C-D>
inoremap <M-ScrollWheelUp> <C-O><C-Y>
inoremap <M-ScrollWheelDown> <C-O><C-E>
Isso tem o infeliz efeito colateral de fazer com que a roda de rolagem não role a janela sob o cursor do mouse, mas sim a janela ativa no momento.
Quanto a saber se o Vim em um terminal poderá rolar com o mouse, depende se o emulador de terminal passará as seqüências de escape para o Vim quando a roda de rolagem for usada. O Xterm pode fazer isso, embora possa precisar de um pouco de ajuda da sua parte - veja " :help xterm-mouse-wheel
".