命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
切换Vim和Normal编辑模式
/vim 曾是 Claude Code 会话内的 slash 命令,用于在 Normal(默认) 和 Vim 两种提示输入框编辑模式之间即时切换。该命令已在 v2.1.92 中被彻底移除。
据 GitHub issue #43370 与第三方聚合站(claudeupdates.dev)转述的 v2.1.92 changelog 记录:
"Removed
/vimcommand (toggle vim mode via/config→ Editor mode)"
(该引文来自社区记录的 changelog,并非直接引自 Anthropic 官方 release notes 页面。)官方 interactive-mode 文档现在的入口说明为 "Enable vim-style editing via /config → Editor mode.",与上述记录一致:移除命令后 Vim 模式功能仍然保留,只是入口改为配置项而非 slash 命令。
/vim 命令已不可用。以下两种方式是当前(v2.1.92 起)启用 Vim 模式的正式途径。
/config 交互式菜单在会话中输入 /config,找到 Editor mode 选项,切换为 vim 即可。
// ~/.claude/settings.json
{
"editorMode": "vim"
}
恢复默认编辑模式:
{
"editorMode": "normal"
}
| 配置项 | 路径 | 可选值 |
|---|---|---|
editorMode | ~/.claude/settings.json | "vim" / "normal" |
Vim 模式启用后,提示输入框支持 NORMAL 模式和 VISUAL 模式的部分动作与操作符,包括 hjkl 导航、v/V 选区、d/c/y 配合文本对象。完整键位表见官方文档 Vim editor mode reference。
| 约束 | 说明 |
|---|---|
Enter 在 INSERT 模式下仍然提交消息 | 与标准 Vim 行为不同;用 o / O(NORMAL 模式)或 Ctrl+J 插入换行 |
| Vim 动作键不可通过 keybindings 文件重映射 | 官方文档明确:"Vim motions are not remappable through the keybindings file" |
命令本身 /vim 已移除 | v2.1.92 起在会话中输入 /vim 不再生效 |
Vim 模式调的是 prompt 编辑器的键位行为,容易和可重映射的 keybindings、外部 $EDITOR 混淆:
| 维度 | Vim 模式(editorMode: "vim") | keybindings 文件 | 外部编辑器($EDITOR) |
|---|---|---|---|
| 作用对象 | 内联 prompt 编辑器的模态键位 | Claude Code 全局快捷键(提交、清屏等) | 在独立编辑器里写长 prompt |
| 是否可重映射 | 否(Vim 动作键不可经 keybindings 重映射) | 是 | N/A |
| 配置位置 | settings.json 的 editorMode | ~/.claude/keybindings.json | $EDITOR 环境变量 |
| 持久化 | 跨会话 | 跨会话 | 跨会话 |
记忆法:**模态编辑(hjkl/cw)**用 Vim 模式,改提交/清屏等快捷键用 keybindings,整段长文本交给外部 $EDITOR。注意 /vim 命令本身已于 v2.1.92 移除,现通过 editorMode 设置启用;INSERT 模式下 Enter 仍提交,换行用 Ctrl+J 或 NORMAL 模式 o/O。
hjkl 精准定位光标、用 cw 修改单词,减少方向键依赖V 选中整行后按 d 快速删除,适合重写已输入的段落~/.claude/settings.json 在所有会话中持久启用 Vim 模式,无需每次手动切换o 换行。但在 INSERT 模式下按 Enter 会直接提交消息,需改用 Ctrl+J 或先退出到 NORMAL 模式再用 o/O。/vim:GitHub issue #43370 记录了官方多处页面在移除命令后仍残留 /vim 引用,搜索到此类内容时应以实际版本行为为准。/vim command · Issue #43370 · anthropics/claude-code (GitHub issue,转述了 v2.1.92 changelog 条目)