開発していると、基本的にshell上でコマンドを叩いたりテストを回したりしていて、問題が出るとそのコマンドを集中して実行したくなる。
こういう用途に対して自分はvimのquickrunコマンドに
<build command> && ./.run_command.sh
というようなものをプロジェクトごとに登録しておいて、 zshrcには
を使って
function anyframe-widget-vim-runcommand () { history -n -r 1 \ | anyframe-selector-auto \ | sed 's/\\\\n/\n/g' \ > .run_command.sh } zle -N anyframe-widget-vim-runcommand bindkey '^v' anyframe-widget-vim-runcommand
というような処理が書いてあって、<Ctrl-V>でヒストリから選んだ内容を .run_command.sh
に書き出すようにしている。
こうすると回したくなったコマンドをすぐに<Ctrl-V>Enterで登録して、編集しながらquickrunでどんどん回すことができて便利。