ターミナル上でvimのスクロール速度が遅い

ターミナル上でvimを利用していると、カーソルの移動やスクロールが大変遅くなることがあって困ってる。

ターミナルのウインドウサイズを大きくしたり、画面分割したりして、ターミナルの画面書き換えの量や複雑さが高くなると、遅くなるようだ。KeyRemap4MacBookでキーリピートは早くしてあるし、vimではない単純な画面では表示の遅さは感じないので、vimをどうにかする必要があるとういことになった。

僕のMacの環境では Terminal.app が一番悪くて、カーソル移動するだけでも、かなり遅く感じる。iTerm2ではスクロールが発生しないカーソルの移動は問題ないが、スクロールが発生するカーソル移動を行うと遅く感じる。

調べてみると、困っている人は他にもいて、vimの設定などをいろいろ工夫している。

一番初めのURLの回答(2008年の話なのでちょっと古い)で、「描画遅かったらgvim使え。」と言ってる人がいて、まぁ、おっしゃるとおりという感じはするので、ものはためしに、MacVimを利用してみた。

たしかにMacVimはスクロールがはやい。ウインドウサイズや画面の分割数を増やしてもMacVimではあまり遅くならない。(スクロールの様子を動画にしてみた。エントリの最後にある。) vimはターミナルから直接使えるのが良いところの1つだと思うのだけど、最近はスクロールのスピードがずっと気になっていたので、しばらくはMacVimを使って見ようと思う。

ターミナルやvimの設定しだいでなんとかなる気もするし、vimのスクロール速度について何か工夫があれば教えて欲しいです!

参考: Terminal.appとMacVimでのスクロールの様子

Termina.app/MacVimのそれぞれで、画面を2つに分割し、jキーを押したままにして50行程度スクロールしてみた。.vimrcはこちら

Terminal.appでスクロール


MacVimでスクロール


参考: 利用した環境

  • vim 7.4b.11 BETA / MacVim 20130713 (Vim 7.4a.9) /.vimrc
  • Terminal.app 2.3 (309)
  • iTerm2 build 1.0.0.20130624