screen の上で 256色の vim を使う
tmux 使えよって罵倒されそうですが、未だに screen を使っています。
ようやく vim のシンタックスハイライトを有効にして生活し始めたのですが、
開発に使っているさくら VPS に設定を反映したところ 16色モードで動いていると判断されているため
jellybeans colorscheme が大変切ない見栄えになってしまいます。
ビジュアルモードで範囲選択しようとしても、バカには見えないモードで範囲選択しようとするので使い物になりません。
せめてカラーパレットが 4096色あれば、グラデーションやらなんやらでごまかせるんですけどねえ(違)
とりあえずぐぐる → 反映
いくつかの記事を読んでみた感じだと screen を 256色対応でビルドしなおして、
.screenrc に
attrcolor b ".I" defbce on termcapinfo xterm* 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
と書いておくと screen が 256色で動き、
.vimrc には
set t_Co=256
と書きたしておくのが定石のようです。(参考: Vim-users.jp - Hack #64: 256色ターミナルでVimを使用する)
ちなみに Colour colour everywhere! 256 colour-mode for Linux consoles では、ステップごとに何をしているのかを丁寧に説明してくれています*1。
さて、僕の VPS はどうなっているかを確認してみたところ
- 256colors2.pl は動いた
- Debian/wheezy の screen コマンドは最初から 256色対応の模様
- attrcolor や bce モードでの起動は必要ないみたい
- vim の syntax/colortest.vim は正しく表示できなかった
- set t_Co=256 するとうまく表示できた
という状況だったので、.vimrc を書き換えるだけにとどめることにしました*2。
" Enable 256 colors FORCELY on screen if $TERM == 'screen' set t_Co=256 endif
他の環境ではどうなるのかは分からないので、他の記事を読みつつ書き換えてみてください。
次は 1677万色向けの記事でお会いしましょう。