Windows向け拡張コマンドラインシェル:NYAGOS (Nihongo Yet Another GOing Shell) の個人設定はホームディレクトリに .nyagos というテキストファイル(Luaスクリプト)を作成して行います。
Windows の場合ホームディレクトリは一般に C:\Users\(ユーザ名)
というフォルダーです。環境変数 HOME に別のフォルダーを定義しておけば、そちらへ変更することも可能です。
なお、メモ帳などで .nyagos
という名前で保存しようとすると、勝手に .nyagos.txt
という名前に変えられてしまいます。一旦、.nyagos.txt
で保存してから、後からエクスプローラーで .nyagos.
等とわざと末尾に余分の .
をつけた形にリネームしてください。末尾の .
はエクスプローラーに対して「拡張子が無い」ということを明示するためのものです。リネーム後に再表示させると、末尾の .
が取れているのが分かると思います。
環境変数の設定
環境変数は設定ファイル .nyagos
の中で、nyagos.env.変数名
という名前の変数に定義を代入することで設定できます。
たとえば PATH に C:\bin を加えたい時は
nyagos.env.path = nyagos.env.path .. ";C:\\bin"
と .nyagos に記入してください。Lua言語では「..
」(ピリオド二つ)が文字列の連結の演算子です。\ は文字列の中なので \\
とエスケープします。
なお、NYAGOS の紹介記事で set { ... }
という記法を紹介しているものがありますが、これも間違いではありません。set
は nyagos.exe と隣接したフォルダー nyagos.d
の中の aliasandset.lua
というアドオンファイルの中で定義されている便利関数です。
エイリアス(別名)の定義
エイリアスも .nyagos
の中でnyagos.alias.エイリアス名
という名前の変数に定義を代入することで設定できます。
たとえば「ls -l
」を「ll
」でも実行できるようにするには
nyagos.alias.ll = 'ls -l $*'
などと .nyagos
の中に記載します。$*
はエイリアスに渡された引数を全て引用するという意味です。他に第一引数の $1
,第二引数の $2
…などもあります。(これらのマクロがない場合は自動で勝手に末尾に $*
があるとみなされます)
エイリアスは文字列で設定するだけでなく、Lua の関数にリンクさせることもできます。
nyagos.alias.printarg = function(args)
for i=1,#args do
print(args[i])
end
end
% printarg x y a d
x
y
a
d
NYAGOS にはいろいろな機能がありますが、とりあえず環境変数の変更やエイリアスなどが使えれば、必要最小限のカスタマイズはできると思います。