@mynameistito/oc-ctrl-enter-force-importOpenCode TUI plugin that interrupts the active run and submits the prompt with Ctrl+Enter.
1
189
近 7 天 12
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"]
}写入 ~/.config/opencode/opencode.json,对所有项目生效。
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@mynameistito/oc-ctrl-enter-force-import@0.1.2"]
}若你要在本地改造这个插件,先装到项目里再从本地路径引用。
shell
pnpm add -D @mynameistito/oc-ctrl-enter-force-importopencode 启动时会通过内嵌运行时自动加载 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:
- Dispatches OpenCode's built-in
session.interruptcommand. - Repeats
session.interruptto pass OpenCode's guarded abort flow when a generation is active. - Dispatches OpenCode's built-in
prompt.submitcommand.
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: