Macのzsh上でFn-Deleteが動作しない問題
Macのターミナルでzshを使ったらFn-Deleteが正常に動作しなかったので、解決策を調査。
現象
Macのターミナルでzshを起動したところ、以下のようにFn-Deleteが動作しないことが分かった。
(普段使っているCtrl-Dは動作しているので、さほど問題なさそうではあるのだが…)
- Delete: カーソルの直前の文字が消去される
- Fn-Delete: カーソルの箇所に
~
が入力される - Ctrl-D: カーソルの直後の文字が消去される
標準のbashでは以下のように問題なく動作する。
- Delete: カーソルの直前の文字が消去される
- Fn-Delete: カーソルの直後の文字が消去される
- Ctrl-D: カーソルの直後の文字が消去される
解決策
.zshrcに以下の設定を追加することで、Fn-Deleteが問題なく動作するようになった。
bindkey "^[[3~" delete-char
ここで指定している^[[3~
は、catを起動してFn-Deleteを押下した際に表示される文字列と同一。