行が長すぎるとVimのスクロールが非常に遅くなる


23

Vimがこんなに遅いとは思わなかったでしょう。私が持っているのは、次の長い行です:

ここに画像の説明を入力してください
(画像をクリックすると拡大します)

ターミナルアプリを使用してMac OS XでVim(MacVim)を実行します。これが私のvimrcです。プラグインの一部とは無関係であることを願っています。画像の大きな線を分割すると、すべてが再び高速に機能します。


+1。写真をありがとう!その1行自体は非常に長いです。CLIテキストエディタは、DOSの時代に255文字に行を制限するために使用されていたことを思い出してください。構文の強調表示では、各HTMLタグの開閉を監視し、各二重引用符、さらに各変数を監視する必要があります。そして、HREFタグ内に別のタグをネストするたびに、エディターはそれが何を意味するのかを把握する必要があると確信しています。emacsには、VIに問題のないテキストを強調表示する問題があります。クロム、FF、悪名高いIEブラウザのように、オンデマンドでエディターを選択することもできます。
Vlueboy

回答:


23

これは、Vimと非常に長い行に関する既知の問題です。3つの解決策があります。

  1. を使用して構文の強調表示をオフにします:syntax off
  2. :set synmaxcol=200または他の値を使用して構文の強調表示を制限します。
  3. を使用して、長いチャンクを小さなチャンクに分割し:s/\s<a/<C-v><Enter><aます。

この特定のケースでは、ソリューション3をお勧めします。


36

以下を試してください:

" Syntax coloring lines that are too long just slows down the world
set synmaxcol=128

それ以外の場合は、次の方法でvimを高速化することをお勧めします。

set ttyfast " u got a fast terminal
set ttyscroll=3
set lazyredraw " to avoid scrolling problems

2
+1。これは、質問者が「最良の」回答として選択しなかったとしても、有用です。
Vlueboy

2
synmaxcolマークダウンでブログ投稿を書くとき、すごい違いがありました。
キーススマイリー

lazyredraw私のためにトリックをしました。特定のファイルをスクロールするプラグインがなくても、耐え難いほど遅くなりました。これは、vimとgvimの両方に当てはまりました。プロファイリングでは何も表示されませんでした。
混乱

set synmaxcol=4096構文の強調表示が長い行で壊れる問題を完全に解決しました:)
ジェイテイラー

1

カーソルラインが設定されているようです。それがかつて私のvimの遅延の最大の原因であることがわかりました。それを無効にしてみてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.