スポンサード リンク
以前書いたように,私はpercolを使ってzshの履歴検索を拡張している。 zshで余計な履歴を残さない・削除する。percolとの連携を前提に で書いたように,全てのzshのメモリ上に履歴削除を反映させるのは 面倒だ。そこで,historyコマンドではなく.zsh_historyをソースとして percolにしぼり込みをさせたい。
しかし,percolは行単位の絞り込みをおこなうスクリプトだから
for i in `ls`
do
mv $i ${i}_bak
done
のような複数行に渡るコマンド履歴を実行するには難がある。これは,.zsh_historyには
for i in `ls`\
do\
mv $i ${i}_bak\
done
として記録されているので,
for i in `ls`; do; mv $i ${i}_bak; done
と相互変換するスクリプトBRconv.pyを作成して,複数行コマンド履歴の実行・削除を実現することにした。
方法
まず,以下の内容でBRconv.py を作成して,pathの通ったところに保存する。
#!/usr/bin/env python
次に,.zshrcに次のように記述する。
最後に,.percol/rc.pyで次のように設定する。
key
これにより,percolで履歴から複数行コマンドを実行できるようになる。
Comments !