i4fumi's blog

オープンソースなど

mintty + vim で Solarized

基本的にデフォルト主義なので、シェルも zsh ではなく bash を使っているし、 .bash_profile や .vimrc もあまりいろいろ設定してないのですが、 vim のカラースキームくらい変えてみようと思い、 Solarized をセットアップしてみました。

vim の設定

自分は、Vundleを使っているので、 以下を .vimrc に追加して、:BundleInstall! しました。

Bundle 'altercation/vim-colors-solarized'

そうしたら、以下を .vimrc に追加します。

syntax enable
set background=dark
set t_Co=16
colorscheme solarized

環境によっては to_Co を設定する必要はないかもしれませんが、 自分のところは to_Co が 8 だったので、最初うまく表示できず困りました。

マイ .vimrc → gist

mintty の設定

vim を設定しただけでは screenshotのようなキレイなカラーリングになりません。 端末の ANSI カラーを Solarized 推奨のものに変更してやります。 以下を .minttyrc に追加します。

Black=7,54,66
Red=220,50,47
Green=133,153,0
Yellow=181,137,0
Blue=38,139,210
Magenta=211,54,130
Cyan=42,161,152
White=238,232,213
BoldBlack=0,43,54
BoldRed=203,75,22
BoldGreen=88,110,117
BoldYellow=101,123,131
BoldBlue=131,148,150
BoldMagenta=108,113,196
BoldCyan=147,161,161
BoldWhite=253,246,227

シェルの設定

これで、vim でうまく Solarized のカラースキームが適用されるようになりました。

しかし、自分の環境では、vim を終了してシェルに戻った後、 Solarized の色がプロンプトやプロンプトの後に入力する文字にそのまま残ってしまい、 もとの色に戻らないという問題が発生したので、以下を .bash_profile に追加して対応しました。

PS1='\[\e[0m\]'$PS1

プロンプトを表示する前に、色をもとに戻しています。