Mac OS Xを使っていないプログラマは、時間の80％を無駄にしている、かどうかは知りませんが、堅いGUIとUNIX系のコマンドラインツールを使えるMac OS Xは、開発環境として使いやすいことは確か。

が、デフォルトのままでは、Terminal.appで日本語が表示できないとか、lsやfindがGNU系じゃなくてBSD系だとか、要するにOSだってカスタマイズしてなんぼというわけであります。

というわけで、私のMac OS Xのカスタマイズをこのあたりに書いておきます。

※2008/2/3追記: Leopard版書きました > 開発環境としてのMac OS X Leopard



Terminal.app Mac OS Xにはデフォルトで「ターミナル」（/Applications/Utilities/Terminal.app）が付いてきますが、これがデフォルトではまったくイケてない。主要な問題は以下の３点。 日本語を表示できない

DeleteやHomeキーが使えない

色が見にくい

まず日本語が表示できない問題は、Terminal.appの設定と、readlineの設定の２点に起因しているようです。 Terminal.appの「ウィンドウ設定」をいじる（後述） ~/.inputrcを修正 で解決します。~/.inputrcは確かデフォルトでは存在しないので、vimやemacsなどなどお好みのエディタで作成して、以下を記述。 set meta-flag on set convert-meta off set input-meta on set output-meta on 続いてDeleteやHomeキーが使えないのは、これまたTerminal.appの設定と、readlineの設定。というわけで、 Terminal.appの「ウィンドウ設定」（後述） ~/.inputrcの修正 で解決します。Terminal.appのウィンドウ設定は後述として、とりあえず~/.inputrcに以下を追記。 "\033[3~": delete-char

vimな方は~/.vimrcに↓これも書いておくと良いです。 map <C-[>[H <Home> map! <C-[>[H <Home> map <C-[>[F <End> map! <C-[>[F <End> 色が見にくいのは、黒背景にすると青が見にくいし、白背景にすると黄色が見にくいし…。~/.dir_colorsや~/.vimrcで見にくい色を使わないようにするのも手ですが、TerminalColorsを使うのが最適です。これを入れると、Terminal.appでもANSIカラーを変更できるようになります。



さて、Terminal.appの設定ですが、お手軽な方法は↓このファイルを~/Library/Preferences/com.apple.Terminal.plistに上書きすればOKです。（元のファイルはバックアップをとっておいてください）

com.apple.Terminal.plist

手で設定する場合は、Terminal.appの「ウィンドウ設定」で↓を設定すればたぶんOK。 「エミュレーション」で、「非ASCII文字をエスケープする」のチェックを外す

「ディスプレイ」で、「日本語や中国語などにワイドグリフを使用する」にチェックを入れる

「ディスプレイ」で、「ワイドグリフは２桁とカウントする」にチェックを入れる

「カラー」と「ANSI Colors」で色をお好みに設定

「キーボード」で、↓を追加 キー 修飾 操作 操作の内容 del(deleteを送出) なし 文字列をシェルへ送信する \033[3~ home なし 文字列をシェルへ送信する \033[H end なし 文字列をシェルへ送信する \033[F page up なし 文字列をシェルへ送信する \033[5~ page down なし 文字列をシェルへ送信する \033[6~

MacPortsをホームディレクトリにインストール 最近やっとMacPortsを入れました。これはステキです。 ただ、dmgに入っているインストーラでインストールすると、/opt/local以下にインストールされるのが気に入らない。ホームディレクトリに入れて欲しい。というわけでMacPortsをソースからコンパイルして、$HOME/portsにインストールしてみました。以下その手順を。

まずreadlineの最新版を入れておきます。readlineを新しくしないとコンパイル時にエラーが出ます（でももしかしたらウチのMacだけかも？）。GPLがアレな場合はlibeditでも良いかも。 wget http://ftp.gnu.org/pub/gnu/readline/readline-5.2.tar.gz wget http://ftp.gnu.org/pub/gnu/readline/readline-5.2-patches/readline52-00{1,2,3,4,5,6,7} tar zxvf readline-5.2.tar.gz cd readline-5.2 for p in ../readline52-*; do patch -p2 < $p; done ./configure --enable-multibyte --prefix=$HOME/ports make -j3 make install 2>&1 | tee make-install-readline.log

続いてMacPortsをインストール。./configureの引数が長い。 wget http://svn.macports.org/repository/macports/downloads/MacPorts-1.5.0/MacPorts-1.5.0.tar.bz2 tar jxvf MacPorts-1.5.0.tar.bz2 cd MacPorts-1.5.0 LDFLAGS="-L$HOME/ports/lib" CFLAGS="-L$HOME/ports/lib" ./configure --prefix=$HOME/ports --with-included-sqlite3 --with-install-group=`id -g` --with-install-user=`id -u` --with-tclpackage=$HOME/ports/tcl make -j3 make install 2>&1 | tee make-install-macports.log

環境変数で$TCLLIBPATHと$PATHを~/.bashrc（とか~/.zshrcとか~/.cshrc）で設定しておきます。 export TCLLIBPATH="$HOME/ports/tcl" export PATH="$HOME/ports/bin:$PATH"

あとはport selfupdateしてお好みのパッケージをインストールパーティすればOKです。ユーザー権限でインストールできます。sudo要りません。 port selfupdate port install coreutils +with_default_names port install findutils port install wget port install ruby