跳到主要内容
    ↑↓ 选择↵ 打开esc 关闭
    中文English
    mynameistito

    Oc Ctrl Enter Force Import

    v0.1.2界面与主题
    @mynameistito/oc-ctrl-enter-force-import

    OpenCode TUI plugin that interrupts the active run and submits the prompt with Ctrl+Enter.

    GitHub 星标

    1

    月装机量

    189

    近 7 天 12

    综合评分SCORE

    35.1

    生态多维模型

    最近提交

    1 个月前

    2026-07-21

    快速安装与配置

    opencode.json

    写入当前项目的 opencode.json,只对这个仓库生效。

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["@mynameistito/oc-ctrl-enter-force-import@0.1.2"]
    }

    opencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。

    OpenCode TUI plugin that force-submits the current prompt with Ctrl+Enter.

    It interrupts the active OpenCode run first, then submits the prompt so the message does not sit behind the current generation queue.

    Install

    Add the plugin package to ~/.config/opencode/tui.json:

    {
      "$schema": "https://opencode.ai/tui.json",
      "plugin": ["@mynameistito/oc-ctrl-enter-force-import"]
    }
    

    OpenCode will install the package when the TUI starts. Restart OpenCode after changing plugin config.

    For local testing, clone the plugin somewhere stable:

    git clone https://github.com/mynameistito/oc-ctrl-enter-force-import.git
    

    Build it:

    bun install
    bun run build
    

    Add the built TUI plugin file to ~/.config/opencode/tui.json:

    {
      "$schema": "https://opencode.ai/tui.json",
      "plugin": ["file:///C:/path/to/oc-ctrl-enter-force-import/dist/tui.mjs"]
    }
    

    Restart OpenCode after changing plugin config.

    For standalone testing from ~/.config/opencode/plugins, add the file to ~/.config/opencode/tui.json as a TUI plugin:

    {
      "$schema": "https://opencode.ai/tui.json",
      "plugin": [
        "file:///C:/Users/you/.config/opencode/plugins/oc-ctrl-enter-force-import.ts"
      ]
    }
    

    OpenCode's default input_newline binding includes ctrl+return, which can make Ctrl+Enter insert a newline before this plugin sees it. Remove ctrl+return from input_newline in your tui.json:

    {
      "$schema": "https://opencode.ai/tui.json",
      "keybinds": {
        "input_newline": "shift+return,alt+return,ctrl+j"
      }
    }
    

    Behavior

    The plugin registers high-priority TUI keybindings for ctrl+return and ctrl+enter, both mapped to a custom command that:

    1. Dispatches OpenCode's built-in session.interrupt command.
    2. Repeats session.interrupt to pass OpenCode's guarded abort flow when a generation is active.
    3. Dispatches OpenCode's built-in prompt.submit command.

    It does not change your tui.json, so any existing input_submit or input_newline preferences stay intact.

    Because OpenCode's managed textarea keybinds run on the focused prompt, ctrl+return must not also be bound to input_newline.

    Windows Terminal

    Many terminals send plain Enter for Ctrl+Enter unless configured. In Windows Terminal, add this action to the root-level actions array:

    {
      "command": {
        "action": "sendInput",
        "input": "\u001b[13;5u"
      },
      "id": "User.sendInput.CtrlEnterCustom"
    }
    

    Then add this keybinding to the root-level keybindings array:

    {
      "keys": "ctrl+enter",
      "id": "User.sendInput.CtrlEnterCustom"
    }
    

    Open a new Windows Terminal tab after saving the settings.

    Credits

    Built on OpenCode's plugin and TUI keymap APIs: