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. 指定したCommitのAuthorとCommitterを書き換える
  3. Windowsのコマンドラインから7-Zipでtar.gz形式に圧縮する
  4. exampleSiteのローカルサーバ起動やビルドを1行で実行する
  5. MavenでOSSのライセンス一覧を出力する
  6. Hugoはじめました
  7. バーコードを生成するJavaサーブレット (Barcode4J)

comments powered by Disqus