macOS にて Visual Studio Code のターミナルで Deleteキー を押下すると "[3~" と表示されてしまうとき

状況

gyazo.com

結論

keybindings.json の配列に以下のオブジェクトを追加して「Deleteキー を押下した際の効果」が「Ctrl+D を押下した際の効果」と同じになるように定義する。

  {
    "key": "delete",
    "command": "workbench.action.terminal.sendSequence",
    "args": {
      "text": "\u0004"
    },
    "when": "terminalFocus"
  }

補足

  • シェルは zsh である
  • iTerm2 上では挙動に問題はない
  • \u0004 という記述がなぜ Ctrl + D になるかについては こちら などを参照のこと
  • 他にも色々と方法はあると思う*1が、Visual Studio Code 内での話なので、Visual Studio Code で完結できるこの方法を選んだ

*1:キーボードのメーカーのユーティリティを使ったり、Karabiner-Elements を使ったり

Powered by はてなブログ