ターミナルで行頭、行末に一発で遷移したい
前のパソコンではできてたのだが、ターミナル上で Ctrl
+ A
を同時押しすると入力行の先頭にジャンプできた。
また Ctrl
+ E
で行末に移動できて非常に便利だったのだがPCとか環境変えたタイミングでその設定が消えた。
てっきりitem2のショートカットキーの設定かと思っていたのだが、実はzshのショートカットキーだった
なぜ今までできていたのか
実は個別に設定しなくてもzshにはいくつかのショートカットキーテンプレートがある。
bindkey -e # emacsモードで使う bindkey -a # vicmdモード bindkey -v # viinsモード
このなかで、自分がやりたかった行頭行末移動ショートカットキーがデフォルトで設定されているのはemacsモードのみ。
なんかの拍子でemacモードになり、その結果行頭行末移動ショートカットキーの恩恵を受けられていたというわけ。
設定方法
じゃあ bindkey -e
でめでたしめでたしと言いたいところだが、そもそもこの機能を今日知ったし、他にも得体のしれないショートカットキーが
潜在的に設定されていると考えると衛生的に良くない。
そこで今回はテンプレートは使わず、個別に設定することにした
.zshrcに以下追記
bindkey -d # キーバインドをリセット bindkey "^A" beginning-of-line bindkey "^E" end-of-line
これで source .zshrc
すれば Ctrl
+ A
で入力行の先頭へ、Ctrl
+ E
で行末に瞬間移動できる。やったね