fish shell では他のシェルと同じように ↑
, ↓
や Ctrl + n
, Ctrl + p
で行ごとに履歴をたどることができる。これに加えて Alt + ↑
, Alt + ↓
で単語ごとの履歴をたどって補完することができる。
例えば git status
で変更のあるファイルを一覧し、特定のファイルだけをコミットしたいとする。
git status -sb
# ## master...origin/master
# M dotconfig/karabiner/karabiner.json
# M init.sh
# ?? dotconfig/flutter/
いくつか変更があるが init.sh
だけをコミットしたい。 git diff
で差分確認してから git add
を行う。
git diff init.sh
# diff --git a/init.sh b/init.sh
# (snip)
git add init.sh
ここで git add
を入力してから Alt + ↑
を押すと init.sh
が補完される。 (もう一度押すと diff
に変わる)
この例だとファイル名が短いのであまりメリットはないが、長いパスを指定する時などに便利。