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を押下した際に表示される文字列と同一。

参考

macos - Binding Fn-Delete in zsh on Mac OS X - Super User

関連記事


  1. MacでGhostty+Zellijをキーが衝突しないように使いたい
  2. rmコマンドとmvコマンドの事故に備えた安全な使い方
  3. Zellijを快適に使うためのエイリアス・関数集
  4. GhosttyやClaude Codeで完了通知に使われているOSCとは
  5. 主要なAIエージェントフレームワークのリンク集
  6. StreamlitのアプリをPyInstaller+GitHub Actionsでビルドする
  7. Terraformを選定する3つの理由