1

最近、vimのカラー表示に問題があります。vimバージョン7.2では完全に機能しましたが、vim 7.3にアップデートして以来、ほとんどのカラースキームのデフォルトのロードは、:colorscheme <name>vimのロード後にコマンドを実行したときの外観とは異なります。例:これは、.vimrcを挿入し
たときのvimの外観です。colorscheme defaultここに画像の説明を入力してください

これは、 vimの起動 colorscheme default に入力したときの外観です。ここに画像の説明を入力してください

すべての明るい色のテーマについても同じです。
これに対する回避策はありますか?テーマファイルにいくつかの変更を加えるとよいでしょう。新しい7.3バージョンと古い7.2バージョンのカラー表示に違いはありますか?

4

3 に答える 3

3

私はこの答えを完全に変えました

私はいくつかの調査を行いました(最近MS Windowsで使用し始めた配色にも問題がありました)。
デフォルトのインストールにある配色では、default設定ではなくbackground(ここからは短い形式を使用しますbg)、を使用するだけなので、唯一の問題は問題になると思いますset bg&。それは、背景がどうあるべきかを「推測」することです。GUIはとの両方の後に.vimrcロードされており.gvimrc、その前に「推測」は正しくありません。
についてはVIMのマニュアルを参照してくださいOptions

'background'をデフォルト値に設定する場合::setbackground&Vimは値を推測します。GUIでは、これは正しく機能するはずです。それ以外の場合、Vimは正しい値を推測できない可能性があります。

GUIを起動すると、「background」のデフォルト値は「light」になります。.gvimrcに値が設定されておらず、Vimが背景が実際にはかなり暗いことを検出した場合、「background」は「dark」に設定されます。ただし、これは.gvimrcファイルが読み取られた後でのみ発生します(実際の背景色を見つけるにはウィンドウを開く必要があるため)。これを回避するには、「background」の値が使用される前(たとえば、「:syntax on」の前)に「:gui」コマンドを.gvimrcファイルに配置してGUIウィンドウを強制的に開きます。

これは、次のような解決策になるはずです。

gui  " Before your line with syntax on
syntax on

in.vimrcまたはgvimrc、は関係ありません(異なる環境で使用しない場合)。
ロードの順序を変更したくない場合は、代わりにこれを試すことができます

autocmd GuiEnter * set background&

どちらも私のために働きます。

しかし、これが役に立たない場合は、それを台無しにしているプラ​​グインが必要だと思います。
そして明確にするために; set background=dark背景を暗く設定しているのではなく、vimに暗い背景の色を調整するように指示しています。

環境や使用されているプラ​​グインの問題に関する情報はありません。ですから、ここではある種の推測です。

于 2013-02-15T01:09:52.753 に答える
0

これを引き起こす原因はわかりませんが、回避策として、:colorscheme <name>コマンドを~/.gvimrc(GVIMの場合)に入れるか、次のautocmdを使用することができます~/.vimrc

autocmd VimEnter * colorscheme <name>
于 2013-02-15T12:24:56.260 に答える
0

私も同じ問題を抱えていました。パッティングset background=lightが助けになりました。ただし、順序が重要であることにも注意しました。つまり、_vimrcファイルではコマンドはコマンドのset backgroung=light後にある必要がありますcolorscheme default

于 2013-05-19T20:29:17.767 に答える