fishでCmd+[とCmd+]を使って移動したディレクトリに移動する
こちら記事を書いたのですが、設定するとペーストが壊れてしまう事象が発生してしまいました。 事象が解消してから設定することをおすすめします。
概要
Macでブラウザの戻る進むを Cmd+[ と Cmd+] で行うのと同じように
Slackのチャネルの戻る進むを Cmd+[ と Cmd+] で行うのと同じように
fishでのディレクトリの移動を Cmd+[ と Cmd+] で行いたい。
fish
config の設定
bind \e\[ prevd-or-backward-word bind \e\] nextd-or-forward-word
configに上記を追加します。
\eはEscです。
ここではCmdではないです。本来であればCmd+[をそのまま認識させたいのですが、
やり方がなさそうなので、Escにしています。
別のなにかに置き換えていても問題ないです。
今回はこのようにしています。
prevd-or-backward-wordとは
次にprevd-or-backward-wordの中身を確認しておきます。
(※ ここは読み飛ばしてもらっても問題ないです。)
function prevd-or-backward-word set -l cmd (commandline) if test -z "$cmd" prevd commandline -f repaint else commandline -f backward-word end end
コマンドが入力状態をチェックして入力されてなかったら
prevdを発行して再描画しています。
prevdは以前にいたディレクトリへ移動するコマンドです。
backward-wordは1文字戻るコマンドです。入力中の場合は一文字戻るようにしているようです。
やりたいことだけだと
prevd commandline -f repaint
ここの処理だけです。
このコマンドを別途切り出してもfunctionにしてもいいのですが、
今回はprevd-or-backward-wordが既に実装されているのでこれを使うことにしました。
iTerm2の設定
最近はiTerm2のショートカットが勝手に起動して少し使いづらさを感じていて移行しようか迷い中ですが、 今回はiTerm2の設定です。
Cmd+[とCmd+]を入力してEsc+[とEsc+]に変換する設定を追加しています。
iTerm2のPreferencesからProfilesのタブを選択して
Profileを選択(私の場合はDefault)
Keysのタブを選択して一覧の下にある+ボタンを押して設定を追加します。
Keyboard ShortcutにはCmd[を設定してActionにSend Escape Sequenceを設定して Esc + [ を設定すればOKです。
まとめ
これでCmd+[とCmd+]で戻ることができます。
..を押すことが度々ありますが、これでCmd+[で快適になりそうです。
ディレクトリ..での移動が多い人はやってみてはどうでしょうか。