·tips

OpenCodeでCtrl+Hが効かない問題を解消する

macOSのターミナルによってはCtrl+Hがbackspaceとして認識されず文字削除できない問題を、keybinds設定で解決する

1 min read
Writing style

まとめ

  • Terminal.app等はCtrl+Hを^H(0x08)として送るが、OpenCodeのデフォルトkeybinds(backspace,shift+backspace)にctrl+hが含まれないため文字削除できない
  • ~/.config/opencode/opencode.jsoninput_backspacectrl+hを足せば解決
  • iTerm2/Ghostty等はkitty keyboard protocol等の拡張で修飾情報付きで送信できるため、端末によって挙動が異なる

解決方法

~/.config/opencode/opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "keybinds": {
    "input_backspace": "backspace,shift+backspace,ctrl+h"
  }
}

ref