web-dev-qa-db-ja.com

Solarizedを使用したiTerm2のvimの色が正しくない

ターミナルvim(非GUI)とソラリゼーションカラースキームで、iTerm2に奇妙な問題があります。まず、暗いソラリゼーションカラースキームを使用するようにiTerm2を設定しました。

Vimにもsolarizedを使用しています。 .vimrcに次の行があります

set background=dark
colorscheme solarized

ターミナルでは、配色が正しくありません。 console vim

参考までに、これはMacVim(gui vim)の下での外観です。 gui vim

コンソールvimで色を正しく表示するには、iTermまたは.vimrcで何を変更する必要がありますか?

80
Zameer Manji

確認するいくつかのこと:

  1. ITerm2の[設定]-> [プロファイル]-> [ターミナル]の[ターミナルエミュレーション]で、[レポートターミナルタイプ:]がxterm-256colorに設定されています。

  2. .vimrcには、256色を使用していることを確認するために設定できるオプションがいくつかあります。

    set background=dark
    " solarized options 
    let g:solarized_visibility = "high"
    let g:solarized_contrast = "high"
    colorscheme solarized
    
    そして、そのうちの1つが動作するはずですが、最初に#1。

ただし、Snow Leopardでvimに組み込まれているデフォルトを使用している場合、256色をサポートするように構築されていないため、動作しません。 Lionの組み込みバージョンはそうだと思います。

編集:この回答に対するいくつかのコメントに基づいて、上記のlet g:solarized_termcolors = 256の例から.vimrc行を削除しました。一部の人にとっては問題になりそうです。別の人は、行let g:solarized_termcolors = 16を追加するとカラー表示の問題が修正されたと言います。あなた自身の走行距離は異なる場合があります。

2番目の編集:ソラリゼーションカラーパレットをiTerm2にロードした場合は、let g:solarized_termcolors=16にする必要があります。 iTerm2カラープリセットとしてソラリゼーションパレットを使用しているnot場合は、let g:solarized_termcolors=256のみ。

116
Bill Turner

上記の答えは私にはうまくいきませんでした。

OS X 10.7.4のvim 7.3でiTerm2を使用しています。

上記の解決策でもうまくいかなかった場合は、これを試してください

syntax on
set background=dark
let g:solarized_termtrans = 1
colorscheme solarized

更新:Jim Stewartによると、これは Kitty でも動作します。

88
Jason Yeo

https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

Solarizedパッケージ( https://github.com/altercation/solarized )をダウンロードし、指示に従ってください:

ITerm 2を開き、Preferencesを開き、Preferencesツールバーの「Profiles」(以前のAddresses、以前のBookmarks)アイコンをクリックして、「colors」タブを選択します。 「プリセットのロード」をクリックして、「インポート...」を選択します。 Solarized LightまたはDarkテーマファイルを選択します。

SolarizedカラープリセットをiTerm 2にロードしましたが、まだ適用していません。それらを適用するには、左側のプロファイルリストウィンドウから既存のプロファイルを選択するか、新しいプロファイルを作成します。次に、「Load Presets」ドロップダウンからSolarized DarkまたはSolarized Lightプリセットを選択します。

====================================

または:

cd ~/.vim/bundle
git clone git://github.com/altercation/vim-colors-solarized.git

。vimrcを変更

暗いテーマ:

syntax enable
set background=dark
colorscheme solarized

syntax enable
set background=light
colorscheme solarized
12
d.danailov

これは、iTerm 2のOS X 10.9.1およびTerminalで機能しました。私が犯した間違いの1つは、termtransおよびtermcolorsの設定の前にcolorscheme宣言を配置することでした(そして、それを機能させるにはこれらの両方が必要でした)。他の人が言ったように、端末タイプをxterm-256colorに設定します

if !has("gui_running")
    let g:solarized_termtrans=1
    let g:solarized_termcolors=256
endif

colorscheme solarized
set background=dark
10
Amar B

OSX 10.11.6、iTerm2 Build 3.0.12でも同じ問題に苦しみました。

これが私の修正です。

  1. .vimrc

    構文enable set background = dark colorscheme solarized

  2. レポート端末タイプをxterm-256colorに設定します。

enter image description here

  1. プロファイルのカラープリセットをSolarized Darkに設定します

enter image description here

7
Jason Kim

作成者から: http://ethanschoonover.com/solarized/vim-colors-solarized

端末ユーザー向けの重要な注意事項:

Solarizedをターミナルモードで使用する場合(つまり、gvimやmacvimなどのGUIバージョンではない場合)、Solarizedパレットを使用するようにターミナルエミュレータのカラースキームを設定することを検討してください。 Solarizedホームページから入手できる公式のSolarizedダウンロードに、Xdefaultsと同様に、いくつかの一般的なターミナルエミュレータ用のパレットを含めました。これらの色なしでSolarizedを使用する場合、Solarizedは、限られた256ターミナルパレットと互換性のあるセットにカラースキームを下げるように指示する必要があります(一方、ターミナルの16 ANSIカラー値を使用することにより、Solarizedに正しい特定の値を設定できますパレット)。

カスタム端末の色を使用する場合、solarized.vimはそのまま使用できます。 256色をサポートするターミナルエミュレータを使用していて、カスタムのSolarizedターミナルカラーを使用したくない場合は、劣化した256カラースキームを使用する必要があります。これを行うには、colorschemのソーラーラインの前に次のラインを追加します。

let g:solarized_termcolors=256

繰り返しますが、手動で、またはインポートに利用できる多くのターミナルスキームのいずれかを使用して、ターミナルの色をソラリゼーション値に変更することをお勧めします。

6
Proksima

Bill Turnerの答えは機能しますが、色をMacVimに正確に一致させる方法があります。 Solarizedは、特にターミナルエミュレーターの中でもiTerm2をサポートしています。

  1. iterm2-colors-solarized github page に移動します
  2. 「インストール」の指示に従ってください
  3. .vimrcにcolorscheme solarizedという行があることを確認してください

これにより、iTerm2のvimの色を、guiエディターの場合とまったく同じに設定する必要があります。

4
Will

この問題を解決する簡単な方法は次のとおりです。

Vim-color-solarizedのカラーdirには、「solarozed.vim」という名前のarquiveが存在します。

このファイルを開いて検索します。
exe "let s:bg_back = '" .s:vmode。 "bg ="。s:back。 "'"

に置き換え:
exe "let s:bg_back = '" .s:vmode。 "bg ="。s:none。 "'"

1
dsandrade

以前の提案をすべて試しました。 set t_Co=256を.vimrcに追加したところ、修正されました。 tmuxエイリアスを作成したり、構成ファイルを変更したりする必要はありませんでした。

0
Mike

私のような問題がまだ残っている場合は、iterm2 solarized color profile をインストールしました。 vim-color-solarized をvimバンドルにインストールし、指示に従うことは不要であり、互換性がありませんでした。上記の画面キャプチャのように、面白いハイライトの問題がありました。

教訓:両方をしないでください。

0
nlambert