notebook

都内でWEB系エンジニアやってます。

cheat + pecoで即実行

前回 cheatを使ってよく使うコマンドとかを出せる話をしました

これをpecoと組み合わせるだけでコマンド貼り付ける手間もいらなくなるじゃないか!

ということでやってみました

チートシートの書き方は下記のようにコマンド以外の行には「#」をつけることでコマンドのみをpecoに渡せるようにしてます

# コメント
command
  • .zshrc
function cheat_peco () {
  unset CHEATCOLORS
  BUFFER=$( cheat $1 | grep -v '^#' | peco --query "$LBUFFER" )
  print -z "$BUFFER"
  export CHEATCOLORS=true
}

たったこれだけ

CHEATCOLORSを実行時に解除しているのはカラーコード付の文字列がpecoにわたるときにエラーで落ちてしまうため

これでメモからのコピーは必要なくなりますね!

asciicast