Cygwin+puttyでGitを使えるようにするための手順
先日、あの濱野さんの『入門Git』を購入して勉強しようとしたのですが、コマンド入力で使おうとした場合、Windows上でスイーっと使用できる環境が未だ無いという事を思い知りました。
Windows上ではCygwinを使う方法とmsysgitを使う方法があるのですが、CygwinはGitの最新バージョンが使えないけど環境設定がいじれる、msysgitはGitの最新バージョンが使えるけど環境設定がしづらい、ということで、前者のCygwinの方法を取りました。
方針としては、puttyからCygwinをいじれるようにし、ソースやGitのコミットコメントもVIMで編集できるようにします。要するにputtyのウィンドウ上で全てを完結できるようにします。
なお、これから紹介する環境は、Gitを学習する上で私自身がストレス無く動作することを目的としたものです。ですので、実務に適応できる環境かどうかは不明ですし、他のプログラムに不具合が起こる可能性も否定できません。責任を持てませんのでご了承下さい。
1.Cygwinのインストール
これは説明いりませんね。もちろんgitのパッケージもインストールしてください。
2.CygwinをUTF-8化
「UTF-8 Cygwin」からcygwin1-dll-20-11-18.tar.bz2をダウンロードし、解凍して出来たcygwin1.dllを、Cygwinの/binディレクトリに上書きコピーします。これだけでUTF-8化完了!
この方はソースを書き換えてUTF-8に対応して下さっています。感謝してもしきれない程です。
※圧縮ファイル名はその時点でのcygwin1.dllのバージョンによって違うと思われます。Cygwinの公式サイトにcygwin1.dllの最新バージョンの番号が掲載されていますので(中程の"Install or update now!"の下)、それと見比べて一致するものと置き換えてください。
3.各設定ファイルを編集
バイナリ的にはUTF-8化が完了したと言っても、まだ完璧ではありません。設定が必要です。
以下の内容を各ファイルに追加します。
■~/.bashrc
export LANG=ja_JP.UTF-8 export LESS=MrXEd alias ls='ls -F --show-control-chars --color' la='ls -a' v='ls -l'
lessとlsに関する設定ですが、要はLESSの'r'とlsの'--show-control-chars'が必要だそうです。ですので私はlsに'--color'を付けましたが、色付けがウザいという場合は外してもOKです。
■~/.inputrc
set convert-meta off set output-meta on
■~/.vimrc
set encoding=utf-8 set fileencodings=utf-8,iso-2022-jp,euc-jp,cp932 let $LANG='ja'
本家の解説では、fileencodingsの先頭はiso-2022-jpになってますが、それだとGitのコミットコメントが文字化けするので変更しました。でも原理は分かってないという(笑)
■補足
これまでの設定をしても、OSによっては、lsコマンドのグループ表示が文字化けしている場合があります。これを解消するには、Cygwinの/etc/groupを編集し、「なし」を「None」に変更します。Vistaは元からNoneらしいです。
ちなみに、Cygwinにmoreコマンドが無いとお嘆きの場合は、次の一行を~/.bashrcに追加すると悩みが解消されるかも。
alias more="less '-E -P?f--More-- (%pb\%):--More--.'"
他にも使っていて不具合がある場合は、本家の解説をご覧下さい。
4.CygTermのインストール
これはターミナルからCygwinに接続するためのツールです。コマンドプロンプトやCygwin標準のやつだと何かと不便なので、puttyから接続出来るようにします。
まず公式サイトからCygTermをダウンロードします。
場所はどこでも良いので解凍したら、Makefile内のBINDIRの値を/usr/local/binと編集した後、make→make installでインストールします。
するとCygwinの/usr/local/bin以下に二つのファイル(cygterm.exe, cygterm.cfg)が出来ているので、cygterm.cfgを以下のように編集します。
TERM = C:\(puttyディレクトリ)\putty.exe -load "cygterm" -telnet %s -P %d TERM_TYPE = xterm PORT_START = 20000 PORT_RANGE = 40 SHELL = /bin/bash --login -i ENV_1 = MAKE_MODE=unix ENV_2 = HOME=/home/(ユーザー名)