標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

NYAGOS、かんたん設定

NYAGOS、かんたん設定 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 にはいろいろな機能がありますが、とりあえず環境変数の変更やエイリアスなどが使えれば、必要最小限のカスタマイズはできると思います。