memo

2011-03-23

zaw-bookmark に変数とか置いときたい

よく使うコマンドラインを保存しておいて zaw.zsh で選べるようなの を前に書いたわけだけれども、いくつかの引数とかその一部は実行時に変更したいとか思ったりするわけでして。

とはいえ Meta + Enter でバッファに置いてカーソルを変数のところに持っていって消して入力してまた次の変数にカーソル持っていって...、 とかはしたくない。面倒くさい。

つうことでそういった事を補助してくれる機能を zaw-bookmark に付けてみました。

例えば以下のようなコマンドラインが bookmark に登録されてるとして:

sudo virt-install --name=${:-name} --virt-type=kvm --ram=1024 --vcpus=1 --disk=path=/dev/lvm/${:-name} --network=bridge=br0 --cdrom=~/iso/${:-iso_image} --os-type=${:-os} --os-variant=${:-variant}

zaw-bookmark から選択すると、

${:-variable_name} の部分が書き換え対象と見なされて以下のようにハイライトされる。 現在は ${:-name} のところにカーソルがある。

で、ここで何かキーを押して文字を入力すると、

カーソル下の変数が消えてくれます。

テキトウに入力したら Tab で次の変数へ移動。

てな感じで変数の位置を書き換えていける。

現在のところ補完がうまく動いてくれないので tab を次の変数への移動に割り当てちゃってるけど、 やっぱり補完効かないのは不便だからどうにかしたい。

https://github.com/nakamuray/zaw