Open4

VSCode(or Cursor)でEmacsキーバインドを使うと、ターミナル内で開いたEmacsでC-x C-cが効かなくなる

hechimahechima

拡張機能を入れない場合、VSCodeのターミナル内で開いたemacsはC-x C-cで閉じることができる。
VSCode自体はもちろん終了しない。

たとえば、Emacsをシェルのデフォルトエディタに設定していた場合、git merge等をVSCode内のターミナルで打つと、ターミナル内でEmacsが起動する。
このとき、C-x C-cでターミナル内のEmacsを正常に終了できる。

しかし、Awesome Emacs KeymapなどのEmacsキーバインドの拡張機能を入れると、C-x C-cでVSCode自体が終了してしまう。

keybindings.jsonに

  {
    "key": "ctrl+x ctrl+c",
    "command": "-workbench.action.closeWindow"
  }

と設定した場合、VSCodeの終了は防げるが、ターミナル内のEmacsも終了できなくなってしまう。

hechimahechima

ChatGPT曰く

{
  "key": "ctrl+x ctrl+c",
  "command": "-workbench.action.closeWindow",
  "when": "!terminalFocus"
}