しょ〜うぃん広場

おもにTech系なブログ、ときどき個人的なブログ

Mouをコマンドラインから簡単に使えるようにした

結論から言うと、この記事はMouを[mou]というコマンドで起動できるようにするための記事です。

TextMateとかだと

$ mate filename

ってやると、filenameのファイルをTextMateで開ける。

これをマークダウンエディタのMouでもやりたかった。 調べてみたら下の参考1が見つかったんだけど、このページだけだとやり方がよく分からなかったので参考2のページも参考にしながら、実現させた。
【参考1】: コマンドラインでMouを開く
【参考2】: 自作のスクリプトをコマンド検索パスに保存する

そもそもMouにはコマンドラインから起動できるらしいのだけど、コマンドが

$ open -a Mou               # Mouを開く
$ open -a Mou filename.md    # filename.mdを開く

とか、ちょっと長くて面倒なコマンドになっている。 しかも下のコマンドでは、既存のファイルを開くだけで、新しいファイルは作成できない。。。

ということで、 ・[mou]だけ打てば良くて ・新しいファイルも作成できる コマンドを作ることにする。

作業開始

適当なディレクトリで

$ vim mou

mou

#!/bin/bash

if test $# -eq 0; then
    `open -a Mou`
elif test $# -eq 1; then
    `touch ${1}`
    `open -a Mou ${1}`
fi

中身はこれだけ。 touch ${1} の部分はなくてもいいけど、これを書かないと新しくファイルを作りたいときにエラーになる。 すでにファイルが存在する場合にtouchをしても、タイムスタンプが更新されるだけなので、問題なし。

書き終わったらmouファイルの実行権限を変更しておく。

$ chmod a+x mou

でもこのままだと、コマンドを打つときに

./mou filename.md

とかしないといけなくて気持ち悪いし、そもそもmouのファイルがあるディレクトリにいないと絶対パスを打たないといけない… クソやん!!!!

ってことで、mouコマンドを使えるようにする。

$ sudo cp mou /usr/local/bin/mou

このコマンド一発で完了。 (このやり方を調べるのに10分ぐらいかかったんだけど…笑)

これで

mou filename.md

ができるようになりました! 便利!!!!!!