Win環境を徹底的に - ゼロからrailsのwin開発環境を整える CygwinUTF-8+Cygterm+Putty+Vi+Emacs

社内でやはりウィンドウズのユーザーが多く、
それでウィンドウズにRailsの環境を整えるべき、参考サイトやインストールしたソフトウェアを記述します。

まだ構築途中なので、随時追加していきます。

cygwinのインストール

ダウンロード元: http://cygwin.org/
Vistaのユーザーは管理者権限でインストーラを実行してください。
emacs22からflymake(リアルタイム文法チェックしてくれる)などの便利な機能が
あるので、emacs22を入れましょう。(現時点で22.1-3)
ただ、インストーラにくせがあり、先にemacs-elを22.1-3にしてその後emacsを22.1-3にしましょう。
場合によってインストールできないとき、ソースサイトを変えましょう。

(Bin?を必ずチェックしておきましょう)
インストール画面上のexpにすれば自動的に22.1-3になる。

zshをインストール

会社のマシンにVistaを入れたけど、cygwinzshはよくエラーがでる。remapなんとかのやつ。ash->rebaseallでも
解決できなかったので、ソースからビルドした。
http://sourceforge.net/project/showfiles.php?group_id=4068&package_id=4076&release_id=562492
からzsh-4.2.7.tar.bz2を取得

$ tar xvfj zsh-4.2.7.tar.bz2
$ cd zsh-4.2.7
$ ./configure
$ make
$ make install

これでもたまにremap parent dllなんとかでるけど、でない場合もあるので、とりあえず放置。(ああああ、Vistaうざい)
追記:管理者として実行すればエラーがでなくなる。

などがでまくり、Vistaを捨てるかzsh+screenを捨てるかを迫られている!
また追記:いまVistaのVirtual PC2007にXPをインストールして利用中・・・

vim7.2をインストール

cygwinデフォルトのvimは-perl -rubyなので(vim --versionで確認)、自動補完機能が動作しない。
でソースからconfigure make make installしたが、256カラーどころか、単色になってしまう。
おかしいと思ってDOSウィンドウでやったらなんとカラーがでた、、ということはcygwinに向けビルドしなければならない。
追記:原因がわかった。なんとTERMをcygwinにすれば色を表示してくれた。前はxterm-256colorでした。
ソースを取得:

$ cd src
$ wget -c ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2
$ wget -c ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
$ wget -c ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz
$ tar xvfj vim-7.2.tar.bz2
$ tar xvfz vim-7.2-extra.tar.gz
$ tar xvfz vim-7.2-lang.tar.gz
$ cd vim72
$ mkdir patch
$ cd patch

ftp://ftp.vim.org/pub/vim/patches/7.2/ でパッチ数を確認する。
現時点で22個
パッチを取得:

$ zsh -c "wget ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.{001..022}"
$ cd ..
$ cat patch/7.2.* | patch -p0

configureは以下のようにした:

$ ./configure --enable-multibyte --enable-rubyinterp --enable-perlinterp --enable-pythoninterp --with-features=huge
--disable-xim --without-x --enable-gui=no

zsh$ export TERM=xterm-256color
にしたら、こんな感じ:

zsh$ export TERM=cygwin
にしたら、カラーフルに:

これは困ったことに:emacs環境変数TERMを見てるから、cygwinにすると256カラーになれない。
解決策:
viのシンボルリンクを削除し、
.zshrcにalias追加
alias vi='vim -T cygwin'

cygwinのUTF8化

http://www.okisoft.co.jp/esc/cygwin-20.html
上のサイトからcygwin1.dllをダウンロードしてcygwin/bin/にぶち込めばよい。
デフォルトのlvコマンドはこれでばけますので、
UTF-8 Cygwinにlvを参考すること。
環境変数TERMをxterm-256colorにすると、lvはOOPSを大量に吐き出すので、
export TERM=cygwinにしたら治った。
でもこれでemacsが認識できないので、
.zshrcに
alias emacs='TERM=xterm-256color /usr/bin/emacs'
に設定したら解決。

puttyjpのインストール

http://hp.vector.co.jp/authors/VA024651/PuTTYkj.html
からダウンロードして、ローカルに展開。
PuTTYを起動して、設定しましょう:
セッション 
ホスト名:127.0.0.1
接続タイプ:telnet(rawでもいいけど)
端末
ローカルエコー:強制的にオフ
ローカルライン編集:強制的にオフ
端末:キーボード
バックスペースキー:Control-H
ウィンドウ:動作
Alt-Enterでフルスクリーンにするをチェック
ウィンドウ:変換
文字コードの設定:UTF-8(CJK)

セッション名をcygtermにし、保存しましょう。

Cygtermのインストール

http://www.dd.iij4u.or.jp/~nsym/cygwin/cygterm/
からcygterm107.tgz をダウンロード
展開した後、

$ cd cygterm107
$ mkdir ../bin
$ make install

できたexeとcfgファイルを移動し、exeファイルのショートカットを作成。

cygterm.cfgを編集

# CygTerm setting

TERM = C:\Tools\puttyjp\puttyjp.exe -load "cygterm" %s -P %d
#TERM = telnet.exe %s %d
TERM_TYPE = xterm-256color
PORT_START = 20000
PORT_RANGE = 40
SHELL = /bin/bash --login -i
ENV_1 = MAKE_MODE=unix
ENV_2 = HOME=/home/Steve

ここで/usr/local/bin/zsh --login -iに置き換えたかったが、やはり不正終了になるのでやめた。

半透明のPuTTyを使いたかったら、
半透明のPuTTyとGvim も参考にしてください。
ここまで構築した環境:

emacsrailsの環境を構築

http://d.hatena.ne.jp/higepon/20061222/1166774270
を参考にしてください。

screenのインストール

デフォルトでは256カラーをサポートしてませんから、screenを再インストール。
奮闘中・・・