rcmdnk's blog

20130905_cygwin_200_200

最近、vimのステータス表示で vim-airlineがリリースされたり それに追随してlightline がリリースされたり 1、 気になっていたのでインストールしました。 これまであまりターミナルの表示色を気にしてませんでしたが、 これらを導入した際にちゃんと表示されてない部分があったので それらの設定と、後、導入したステータスラインの設定等。

Cygwin + GNU Screen

CygwinではMac同様、GNU Screenはソースからコンパイルして インストールしていますが 2、 この際、configure--enable-colors256として256色表示を有効にしてるんですが、 実際にはそれ程色を気にするわけでもないのでCygwin上ではきちんと試してませんでした。

で、今回vimのステータスラインを入れてみて他の端末ではこんな感じで綺麗に見れてたのが

Cygwinだと

こんな感じで状態がとても見辛く(ともにlightlinejellybeansテーマ)。

色々試していると、GNU screenを起動した時だけがおかしくなるので、 screenインストール時にcolors256オプション付け忘れかと思って再インストールしてみるも駄目。 .screenrc

term xterm-256color

とtermを指定したりしても関係なし(そもそも他の端末ではなくてもOK。)

問題はMinttyのターミナルオプションがxtermになっていて、これを xterm-256colorに指定する必要があったみたいです。 (つまりはずっと256色表示でなかった。。。)

ターミナルにメニューバーが無いので、タイトルバーを右クリックからOptions... を選び下の様にTerminalのTypeをxterm-256colorに。

これでちゃんと表示出来る様になりました。

テストとしてbashでこんなスクリプトを使って表示。

colcheck.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash

bg=40
if [ "$1" != "" ];then
  if [ "$1" = "white" ] || [ "$1" = "w" ];then
    bg=47
  fi
fi

for i in {0..255}; do
  num=`printf "%03d" $i`
  printf " \e[${bg};38;05;${i}m${num}\e[m"
  if [ $((${i}%16)) -eq 15 ];then
    echo
  fi
done

こんな感じに見れます。もし256色表示が有効でないと、

こんな感じで、同じ色を表示する所が出てきます。

PuTTY

一応同じWindowsとしてPuTTYについても。

PuTTYは各SessionのConnectionDataの所にTerminal-type string という項目があるので、ここにxterm-256colorを記入します。 こちらは昔設定したみたいでこうなっていて、外に繋げたりcoLinuxでは きちんと256色表示されていたみたいです。

Sponsored Links
Sponsored Links

« オンラインストレージCopy.comを導入 Vimプラグインlightline導入 »

}