2007-07-31

Mac OS XのopenコマンドがLinuxにも欲しい!!

Mac OS Xをコマンドラインから使っている人は知っていると思うが,Mac OS Xにはopenというステキなコマンドが用意されている.

このコマンドの使い方はいたってシンプルで以下のように実行をする.
open 引数

実行結果は引数に与えたファイル属性にあったアプリケーションやプログラムを起動してくれるのである.pdfファイルを引数にするとプレビューが立ち上がるし,テキストファイルを引数にするとテキストエディタが立ち上がるといった具合だ.また,起動するプログラムはあらかじめ該当ファイルの「情報を見る」で登録することができる.ものぐさな自分にとってはまさにうってつけのコマンドだったりする.なので時々,MacからLinuxなどのUnixサーバにログインすると,openと打っている自分がいる.RedHat系のディストリビューションだけかもしれないが,実はopenというコマンドは用意されていて,コンソールなどで使うらしい.

しかたがないのでopen.shというシェルスクリプトを作ってみることにした.

まず,fileコマンドでファイルタイプを調べる.

fileType="`file "$i" | awk -F:\ '{print $2}'`"

で変数fileTypeに応じた処理をこんな感じで振り分ける.

case "$fileType" in
ファイルタイプ)
;;
esac

もしも,未知のファイルタイプに遭遇したら

*)
echo "$fileType"
exit 1
;;

としている.あとは使いながらファイルタイプのリストと処理を追加していけば幸せになれたりする.

ついでに,リモートログインした時にXが使えないときはDISPLAY変数をよしなに設定してくれる処理を入れているので,ディレクトリの中身をnautilusとかでも見れたりできる.

2007-07-30

carbon emacsのnxmlモードが残念な件

前のエントリでmamumo-modeが残念な動きをしているという話.

この前のエントリでは自前でビルドしたEmacsを使うことにしたけど,やっぱり自前ビルドは茨の道だった.とくにインラインの日本語変換が悲しいことになっている.やっぱりCarbon Emcasのインラインパッチて重要だよね.

とはいえ,Carbon Emacsの現状だとphpのコーディングのときにかなり悲しい思いをするのは確か.nxml-modeやnxhtml-modeのうまみが今ひとつ理解できないのもあって,/Applications/Emacs.app/Contents/Resources/site-lisp/nxml/nxhtml/php-mode.elだけを読み込ませることにした.あとのelispは無視する方向で……

とりあえず,.emacsとかに

(load "/Applications/Emacs.app/Contents/Resources/site-lisp/nxml/nxhtml/php-mode.el")
(require 'php-mode)

て書いて急場をしのぐ.がんばってmumamo-modeの最新版とかを入れてもいいんだけどね.今は時間がないのでこれでなんとかする.

nxmlパッケージに含まれているphp-mode.elはバージョンが1.3.0とかになっているけど,あんまり気にしない.つーか,changelogを読んでもあんまり嬉しい追加機能はないみたい.まぁいいや.

2007-07-25

carbon emacsの2007 summerバージョン

先日,Emacsが数年ぶりにバージョンアップし,自分が使っているCarbon Emacsも2007 Summerバージョンで本家のバージョンアップに追従したようだ.このCarbon Emacsはあらかじめ便利なelispプログラムも付属しているので大変重宝して使っていたのだが,nxmlパッケージ(とくにphp-modeとmumamo-mode)がうまく動作していないような気がする.

元々のphp-modeはsourceforgeで配布されているパッケージが入っていたようだが,今回のバージョンからnxmlパッケージに含まれるようになったらしい.このためphp-modeでファイルを編集している時に,TabもしくはC-iでインデントをしようとすると,mumamo-modeていうnxmlパッケージに入っているmmm-modeの新しいやつを使うかい?と聞かれるようになった.

最初はとりあえずyesと答えていたけど,どうやらmumamo-modeの起動に失敗しているっぽい.エラーメッセージを読んだら,autostart.elというファイルが見つからないとぶーたれていた.とりあえず.emacs.elでautostart.elを直接指定して読み込ませるようにしたら,こんどはmumamo-modeを使うぜ,と叫んだ時点でemacsが強制終了するようになった……

Carbon Emacsで提供されているnxmlモードはビミョーに古い気がするけど,新しいバージョンを入れようとまでは思わない.nxmlパッケージの中のnxhtml-modeはかなり気になるモードだけど……

ということで,Emacsはgnu版を落としてきて,自分でビルドしたものを使うようにした.とりあえずはCarbon Emacsの次期バージョンでこの問題が解決したら,Carbon Emacsを使うけど,現状だったら自分でビルドしたemacsを使っていたほうがいいかな.