ghqディレクトリを移動するキーバインドを設定する

  • shell

動機

  • ghq で管理しているディレクトリに移動するコマンド、ちゃんとしたい
    • 一番使うのに g 一文字でエイリアスを張るという絶妙な手抜き技だった
    • キャンセルしたときの挙動とかも含めて、ちゃんと…!

作業

move_ghq_directories() {
  selected=`ghq list | fzf`
  if [ ${#selected} -gt 0 ]
  then
    target_dir="`ghq root`/$selected"
    echo "cd $target_dir"
    cd $target_dir
    zle accept-line
  fi
}
zle -N move_ghq_directories
bindkey "^]" move_ghq_directories

(非常にわかりづらいが、一度 Ctrl + C で interrupt をかけている)

reverse した方が見やすそうとか、全画面乗っ取る必要ないんじゃないかとか、そもそも shell が下手すぎるとかは色々ありつつ、やりたいことは達成できた。元々のエイリアスを消してターンエンドである。