40 個以上のシンボルを含む行での Vim の移動遅延

40 個以上のシンボルを含む行での Vim の移動遅延

私は長いコメント行でソース コードを視覚的に区切るのが好きです。C++ では 80/文字、Python では 80#文字などを使用します。長年にわたり、Vim を移動するときに時々ヒッチ (約 0.5 秒ほど応答が停止する) が発生することに気付いていましたが、今日、これが区切り行でのみ発生することがわかりました。

例えば:

line 1
line 2
////////////////////////////////////////////////////////////////////////////////
line 4
line 5

カーソルが 3 行目のどこかにある場合、どのような動き (上、下、ページアップ、ページダウン、左、右、、、$... 0) でもほぼ常に遅延が発生しますが、他の行では遅延は発生しません。

これをいろいろ試してみたところ、次のことがわかりました。

  • 遅延は、 を除く行の任意の場所に合計 40 個以上の記号 ( 、 、 など) がある行で発生するようです(おそらく、/-Vim=定義にアンダースコアが含まれているため)。.#_word
  • 行が長くなれば遅延は増えないようです。たとえば、1000/文字の行では 40 文字の行と同程度の遅延が発生します/
  • 遅延は、その行から「新しい」移動を開始するときにのみ発生します。OS キーの繰り返しを使用して行を移動しても、遅延は発生しません。
  • 遅延は構文の強調表示やプラグインとは関係ないようです。、、でも同じ動作が見vim -u NONEられsyntax offますfiletype=
  • GUI Vim (gvim) にはこの問題はないようです。

私は MacBook Pro のターミナル アプリで macports の MacVim 8.0 を使用していますが、Apple が提供するデフォルトの Vim 7.4 でも同じ動作になります。

Google、Stack Overflow、Super User でこれに関する言及を見つけることができませんでしたが、私のシステムでは非常に再現可能です。

これは既知の問題ですか? これを制御するランタイム設定またはビルド オプション (行でサポートされるシンボルの最大数など)、またはこれを緩和する回避策はありますか?

関連情報