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. rmコマンドとmvコマンドの事故に備えた安全な使い方
  2. Dependency Review Actionのライセンスチェック機能に関する調査メモ
  3. クエリパラメータを使ってお手軽にGitHubのプルリクを作成する
  4. 他の人には読めない形式でGitHubのSecretsの値を読み出す
  5. GitHub Actionsでプルリクのコメントに複数行テキストを投稿する
  6. GitHub Actionsでエラーの時だけ特定の処理を実行する
  7. Tera Termのマクロで、パスワードを扱う操作を自動化する

comments powered by Disqus