rlwrapでSBCLを快適に

SBCLのインタプリタはコマンドライン入力支援機能が無いという優しくない作りなので、rlwrapというソフトを導入しました。
このrlwrapはGNU READLINEを使えるようにするラッパーなんだそうです。
だからLinux系では簡単に導入できるようですが、Win系となるとそうもいかないようで・・・

rlwrapの導入

cygwinの導入

cygwinをインストールしたのですがどうにも要らなかったような・・・すでにインストール済みの環境でしか実行していないので自信はないのですが・・・真っ新なPCがあったら試してみたい気がします。

rlwrapの入手

コチラからrlwrap-0.37-1.tar.bz2をダウンロード

rlwrapのインストール

入手したrlwrapがtar.bz2形式なのでcygwinのtarを使えば解凍できる筈なのですが・・・できなくて足止め。
そこで+LhacaというWindows用ソフトで解凍(結局cygwinは使わず)。
解凍してできたusrディレクトリの中からrlwrap.exeをcygwin上の/usr/local/binに、rlwrapディレクトリをcygwin上の/usr/shareにコピー(docとmanはひとまず無視)

使い方

あとはcygwinのコンソールで

rlwrap sbcl

とかしてやればsbclで履歴とかCtrl+aでの行頭移動とかできて快適に!

.bashrcに

alias sbcll=' rlwrap -c -q=\" -b="(){}[].,;|" sbcl'

と追加しておけばちょっとだけ楽ができるかも
訂正:オプションとして-c(ファイル名補完ON)、-q=\"(引用符文字指定)-b="(){}[].,;|(単語の区切り文字を指定)を追記
参考:rlwrapの補完を使う - プログラムの事とか

補足:色々あって現在はさらに追加しております。詳しくはrlwrapの補完を使う - プログラムの事とか

余談

cygwin上に移動した上記ファイルを消去してから、適当な場所にrlwrap.exeを置いて、Win用コンソールckwからrlwrapを使ってみたら使えた。
そうなるとcygwinは要らないのかな・・・

追記:日本語関連で問題発生!(13.4/29)

元々win用SBCLをcygwinのターミナルで使うと日本語表示に問題が発生するのでrlwrapの問題というよりWin用SBCLの問題も大きいのですが・・・win用ターミナル+Win用SBCL+rlwrapだと日本語入力すらできないので日本語オンリーな私としては何とかできると良いんですが。

つまり現状ではWin用SBCL+rlwrapで日本語を扱う場合はまともに動かない

追記の追記(13.5/2)

文字化け問題はひとまずWin用SBCLとcygwinの文字化け問題 - プログラムの事とかで解決しました。
スマートじゃないけど・・・