普段からfzf(fuzzy finder)を使っていますが、つい最近Alt-Cで選択したディレクトリに移動してくれるという機能を知りました。(今更ながら。。)
普段はUbuntuを使うことの方が多いのですが、先日Macで試そうとしたらAlt-C(Option-C)で動かず、原因の特定と対応に地味に時間を取ってしまったので備忘のため記事にしました。
MacでfzfのAlt-C(Option-C)が機能しない時の対応方法
機能しない理由
MacでOption-Cが機能しない理由は非常にシンプルなものでした。
MacではOptionと何かのキーを押すと特殊文字が入ります。ですのでターミナルでOption-Cを入力しても特殊文字が入力されるだけで、何かのショートカットだと認識されておらずOption-Cが機能していませんでした。
実際にOption-Cを打ってみると、çと入力されます。(簡単に調べた感じフランス語とかの発音記号として使われるらしい??)
原因がわかればあとは対応するだけです。
対応方法
MacでOption-Cが機能しないことに対する対応は以下の2つがあります。
Esc-Cを使う
1つ目の方法は非常にシンプルです。
Optionキーの代わりにECSキーを押下しながらCを押すだけです。
これで期待通りにディレクトリ移動の曖昧検索ができます。
ただ、普段の仕事でUbuntuを使っている人間からしたら、端末毎にキーの組み合わせを覚えないといけないのは嫌で、可能な限り避けたいです。
AltキーとEscキーは全く場所が違いますし。。
ですので自分は次に紹介するキーバインドを変更する方法で対応しました。
キーバインドを変更する
今回変更するのはMac全体としてのキーバインドではなく、ターミナル上でのみキーバインドを変更するようにします。
ターミナル上でのキーバインドの設定は〜rcファイルに設定を追記するだけです。
自分はzshを使っているので.zshrcファイルに下記の設定を追記しました。
※bashを使っている場合は.bashrcに記載するなど、自分が使っているシェルに対応するファイルに追記する必要があります。
bindkey "ç" fzf-cd-widget
これでOption-Cを押下することで入力されるçでfzfのディレクトリ移動の機能が実行されるようになります。
çをターミナルで入力したい場面はないと言っても過言ではないので細かいことは考えずこの設定にしました。
ファイルへの追記が完了したらあとはそれを再読み込みするだけです。
ファイルの変更の反映はターミナルを再起動しても問題ありませんが、再起動しなくても下記コマンドでできます。
※読み込むファイルは自分の使っているシェルに対応するファイルを読み込むようにしてください
source .zshrc
これでキーバインドの設定と反映が完了です。
これでOption-Cを押下することでディレクトリ移動の曖昧検索が動くようになると思います!
まとめ
Macと他のOSのPCを使っている場合はキーバインドが違って苦労する部分がちょくちょくあるので、今回みたいにAlt-Cと同じ位置にあるキーを使って解決できたので満足です!
※自分は普段はHHKBでMacとUbuntuを使っているのでAltとOptionが同じ位置にきます。
みなさまの役に立ちますと幸いです。
コメント