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. 既存コードへのCheckstyle導入におけるルールの選定
  3. Checkstyleで汎用的に使えそうなルールをピックアップしてみた
  4. JaCoCoでJavaのテストカバレッジのレポートを出力する
  5. 指定したCommitのAuthorとCommitterを書き換える
  6. Windowsのコマンドラインから7-Zipでtar.gz形式に圧縮する
  7. exampleSiteのローカルサーバ起動やビルドを1行で実行する

comments powered by Disqus