githubが使いたくなったりcoLinuxのインストールに失敗したり、という理由があって、Windows環境でまともなシェルを使いたくなった。ちょっと調べたら、使い慣れたPuTTY / 使ってみたかったzsh / もはやおなじみcygwinで環境が作れそうなので、さっそく構築してみた。

環境はWindows XP Professional SP3 / Core2 Duo E7400である。

cygwinの準備

cygwinのインストールについては詳細略。setup.exeを起動して、必要なパッケージをnetinstallするだけ。

今回は以下のパッケージをインストールする。gitは今回は登場しないが、本来の目的はgitを使うこと(近日エントリ予定)なのでついでに入れておく。

devel/git
editors/vim
shell/zsh

PuTTYの準備

インストールについては省略。こちらを参考にセッションを作っておく。セッションの名前があとで重要になってくるので注意。今回は参考サイトと同じく「cygterm」という名前にした。

cygtermの準備

Tera Termのインストール

Tera Termのインストールを行う。「コンパクト」を選んでCygTerm+を追加すれば必要なコンポーネントは準備される。

Ttinstall
cygterm.cfgの設定

インストールしたディレクトリに「cygterm.cfg」があるので編集。以下の設定はこちらを参考にちょっと修正してある。

TERM = \\path\to\PuTTY\putty.exe -load "cygterm" -telnet %s -P %d
TERM_TYPE = xterm
PORT_START = 20000
PORT_RANGE = 40
SHELL = /bin/zsh --login -i

1行目の「cygterm」が、先ほど作ったPuTTYのセッション名。間違えないように入力しよう。

ホームディレクトリの準備

Windowsで環境変数「HOME」を設定すると、そこがホームディレクトリとして扱われる。指定がない場合cygwinのインストールディレクトリにある「\path\to\cygwin\home[username]」が使用される。

ショートカットを作る

\path\to\teraterm\cygterm.exeを実行すると、シェルがzshのcygwinコンソールが立ち上がる。適当な場所にショートカットを作っておくといいだろう。

zshの設定

「漢の」「究極の」など派手なコピーがつくことが多いzsh。カスタマイズの幅は相当広いので、この辺を参考に好みの環境を作ろう。

最低限以下だけを$HOME/.zshrcに書いておけば、lsに色がつくしtabによる強力な補完を体験することができるし、スタートラインには立てる(はず)。

# Created by newuser for 4.3.9
alias -g ls='ls --show-control-chars --color=always -F'
alias -g ll='ls --show-control-chars --color=always -FAl'
autoload -U compinit
compinit -u

最終行の「-u」オプションはこちらの情報。

viの設定

執筆現在(2009-07-22(日本で皆既日食が観測できた日))、cygwinでnetinstallしたvimは日本語対応されている。$HOME/.vimrcに以下だけ書いておこう。

set encoding=japan

まとめ

これでWindowd環境でもちゃんとしたシェルが使えるようになった(はず)。DOS窓を使う機会が減るのは大変いいことだろう。

emacsもちゃんと動くっぽいのだが、Meadow用にカスタマイズした.emacsはそのままじゃ使えないっぽいのが今後の課題。

冒頭にも書いたとおり、本来の目的はgit(とgithub)を使うこと。こちらは近日エントリ予定。

リンク

ばーぶろぐ /var/blog: PuTTYを使ってCygwinに接続する

http://blog.tbl.jp/2008/11/cygwincygtermputty.html

漢のzsh | コラム | エンタープライズ | マイコミジャーナル

http://journal.mycom.co.jp/column/zsh/

zsh compinit – insecure directories, run compaudit for list

http://paranoids.sakura.ne.jp/kaworu/2009-03-29-1.html