カラースキームSolarized
Solarizedは、Ethan Schoonover氏が開発したカラースキームである。長時間画面に向かうプログラマ向けに、目が疲れにくい配色を選んでいる。明度や色相を注意深く設定した16色を配することで、低コントラストでありながら、シンタックスハイライトの可読性を失わないように設計されている。いろいろなエディタやアプリケーション向けの実装が公開されている。
Red Hat Enterprize Linux 4とUbuntu 10.04.3 LTSでvimをSolarized化した。参考にしたのはEthanの書いたドキュメント。彼はvim使いなのだろう。
Solarized Colorscheme for Vim
http://ethanschoonover.com/solarized/vim-colors-solarized
■インストール
.vimディレクトリにSolarized配布ファイル内のディレクトリ3つ(autoload、colors、docs)をコピー。
■.vimrc
以下の行を追加する。明るい背景色に慣れているので、デフォルトはlightモードにした。F5キーを押せばlightモードとdarkモードを行き来できる。
call togglebg#map("<f5>")
set t_Co=16
let g:solarized_termcolors=16
let g:solarized_termtrans=0
let g:solarized_degrade=0
let g:solarized_bold=1
let g:solarized_underline=1
let g:solarized_italic=1
let g:solarized_contrast="normal"
let g:solarized_visibility="normal"
colorschem solarized
私の環境はデフォルトでt_Coが8だったのでset t_Co=16を追加した。
Ubuntu, vim, and the solarized color palette(Stack Overflow)
http://stackoverflow.com/questions/5560658/ubuntu-vim-and-the-solarized-color-palette
■solarized.vim
RHEL4のvim 6.3.34ではsolarized.vimの以下の行をコメントする。サポートしてないキーワードが含まれるらしく、vim起動時にエラーが出る。Ubuntu 10.04のvim 7.2.330は問題ない。
exe "hi! SpellBad" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_red exe "hi! SpellCap" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_violet exe "hi! SpellRare" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_cyan exe "hi! SpellLocal" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_yellow
■putty
Solarized配布ファイル内のレジストリファイルでputtyのSolarizedセッションを作る。
さらにputty設定画面のWindow→Colourで「Bolded text is a different colour」をオフにする。これがチェックされていると、Bold体の配色が地の色とあまり変わらず、lsコマンドのカラー表示でファイルやディレクトリの区別が付けにくい。Bold体には伝統的に地のフォントと別の色を割り当てて区別していたが、今のターミナルソフトはBoldフォントを表示できるので、色を変える意味はない。
Sebastian TrampのGithubページ
https://github.com/seebi/dircolors-solarized
■.bashrc
Solarizedと関係ないが、「force_color_prompt=yes」行のコメントを外して、コマンドプロンプトでカレントディレクトリ部分がカラー表示されるようにする。
■gvim
UbuntuのGNOMEターミナルでvimを使うと配色が期待通りにならない。GNOMEターミナルのSolarizedが必要なのだろうか。Gvimは上記の設定で正しい配色になる。Synaptic Package Managerでvim-gnomeをインストールする。
■2012/05/29追記
yuya_prestoさんから、puttyの「Bolded text is a different colour」をオフにしたらまずいのではないかというコメントをもらったので、もう一度設定を見直してみた。
vimが使い物にならなくなるということだが、私の環境では「Bolded text is a different colour」をオンにしてもオフにしても、vimの配色は変化しない。dircolorsはLinuxのデフォルト設定を使っていたので、Sebastianのdircolors.ansi-universalをインストールした。これで「Bolded text is a different colour」がオンでもオフでもls出力がカラーになる。「Make sure that bold text is displayed using bright colors」「turn off the display of bold typeface for bold text」という指示は、puttyの場合は「Bolded text is a different colour」をオンにすることに相当するのだろうか。ファイル一覧が標準体で表示されるので、今までのボールドタイに慣れた目には、ちょっと細すぎる感じがするが、そのうち慣れるだろう。
コマンドプロンプトは、「Bolded text is a different colour」がオンだとモノクロ表示、オフだとカラー表示。これは「Understanding Solarized Colors in Terminals」を読みながら詳しく調べる予定。
ついでに、仕事で必要になってインストールしたばかりのCygwin 1.7 minttyもSolarized化してみた。まずsol.lightでカラースキームを設定する。カラースキームはmavnnのGitHubからダウンロードできる。これを.bashrcの中でsourceすればよい。vimのバックグラウンドがちょっと変な色になったが、Linuxで使っているのと同じ.vimrcで「let g:solarized_termtrans=1」(Linuxは0)を設定したら、putty + Linuxと同じ色になった。
mavnn/mintty-colors-solarized · GitHub
https://github.com/mavnn/mintty-colors-solarized
| 固定リンク
この記事へのコメントは終了しました。




コメント
「putty設定画面のWindow→Colourで「Bolded text is a different colour」をオフにする」とありますが、これをしてしまうとvimのsolarizedが使い物にならなくなってしまいます。これはオンにしておき、下記のdircolorsを設置することで、vimとlsの双方の色をsolarized対応にできます。
https://github.com/seebi/dircolors-solarized
投稿: | 2012年5月28日 22時12分
「putty設定画面のWindow→Colourで「Bolded text is a different colour」をオフにする」とありますが、これをしてしまうとvimのsolarizedが使い物にならなくなってしまいます。これはオンにしておき、下記のdircolorsを設置することで、vimとlsの双方の色をsolarized対応にできます。
https://github.com/seebi/dircolors-solarized
投稿: yuya_presto | 2012年5月28日 22時13分