上にスクロールしてc-y c-y c-y
と同等にし、下にスクロールしてc-e c-e c-e
と同等にしたいのですが。ドキュメント ここ は、これがすでに当てはまるはずであることを示唆しているようです。または、これを.vimrc
に入れることで回避できます。
map <ScrollWheelUp> <C-Y>
map <S-ScrollWheelUp> <C-U>
map <ScrollWheelDown> <C-E>
map <S-ScrollWheelDown> <C-D>
これらのソリューションはどちらも機能していないようです。 Ubuntu11.10のターミナルからvim
を使用しています。
申し訳ありませんが、これと格闘しなければなりませんでした。それは実際には非常に簡単です。 〜/ .vimrcに次の行を追加するだけです。
set mouse=a
これをオンにすると、(* nixでは)マウスで選択するだけでvimからコピーすることはできなくなります。でも長押しすると Shift ((Option OSXの場合)を選択すると、以前と同じように機能します。
私の〜/ .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>
これには、スクロールホイールがマウスカーソルの下のウィンドウではなく、現在アクティブなウィンドウをスクロールするようにするという不幸な副作用があります。
ターミナル内のVimがマウスでスクロールできるかどうかは、スクロールホイールが使用されているときにターミナルエミュレータがエスケープシーケンスをVimに渡すかどうかによって異なります。 Xtermはそれを行うことができますが、あなたの側で少し助けが必要かもしれません。「:help xterm-mouse-wheel
"。