Hotwireの初期化ファイル(エイリアスと環境変数を設定する)
エイリアス
UNIX系の内部コマンドを使用せずに外部コマンド(coreutilsなどに含まれるコマンド)を優先的に使いたい場合を含め、Hotwireでエイリアスを使用するには、[ホームディレクトリ]/.hotwire/plugins/以下に、エイリアスを定義するPythonスクリプトを作成する。ファイルの名前は特に決まっていないので、分かりやすい名前にする。ファイルの先頭には以下の記述が必要。
[任意]ファイル名: ~/.hotwire/plugins/alias.py
from hotwire.cmdalias import AliasRegistry aliases = AliasRegistry.getInstance();
その上で、
aliases.insert('mplayer', 'term mplayer') aliases.insert('mplayer-help', 'sh mplayer') aliases.insert('sudo', 'sh gksudo') aliases.insert('make', 'sh make -j 2') aliases.insert('emacs', 'term env -u DISPLAY emacs') aliases.insert('mkdir', 'sh mkdir')
などのように、好きなように記述する。1つ目の引数がエイリアス名(シェル上で打ち込む名前)、2つ目が展開/実行されるコマンド/オプションとなる。
mkdirの例では、内部コマンドを外部コマンドで置き換えているため、実際に実行する際には、補完リストの中から「sh mkdir」を選択し、展開して使う点に注意(そのまま入力した場合は内部コマンドが使用される)。
これをTabキーで選択すると、入力ボックス上で「sh mkdir」に置き換わり、その後にオプションを付けて実行しても、正常に処理される。
環境変数
環境変数指定用のPythonスクリプトを作成する。先頭には以下の記述が必要。[任意]ファイル名: ~/.hotwire/plugins/env.py
import os
その上で、
os.environ['NAME'] = 'value'
の形で追加していくことになる。実際には[ホームディレクトリ]/.xprofile*1など*2でグラフィカルログイン時に環境変数は設定できるため、Hotwire上のみで設定したいものに限られる。
具体的には、PATHの設定が挙げられる。
os.environ['PATH'] += ':' + os.environ['HOME'] + '/bin'
環境変数PATHは、Hotwire内でもコマンド名の探索パスとして使用されるため、設定する意味がある。上の例では[ホームディレクトリ]/bin/を既存の${PATH}に追加している。
ユーザ定義の内部コマンド
code.google.com/p/hotwire-shell/wiki/ExtendingHotwireによると、ユーザ定義の内部コマンドを定義/作成することができるようで、サンプルも載っている。上のエイリアスや環境変数と同様、[ホームディレクトリ]/.hotwire/plugins/以下に任意のファイル名でPythonスクリプトを作成する。しかし、正直なところ、fruitコマンドは、簡単なサンプルにしては、コードも長く、理解もしづらいという感想を持ってしまった(コードが書けるという人にはそうでもないのかもしれないが...)
使用したバージョン:
- Hotwire 0.620