Vim Motions 是一份围绕 Vim 模态编辑的参考资料,目标是帮助使用者通过组合移动、操作符与文本对象来完成高效文本编辑。
用途 主要用于查询和掌握 Vim 的命令体系,包括导航、编辑、搜索替换、窗口与缓冲区操作,以及配置建议。当需要了解某个 vim 命令的含义或想组合出更高效的编辑动作时可参考。
模态编辑基础 资料列出五种模式:Normal(ESC 或 Ctrl-[,用于导航、操作、组合命令)、Insert(i、a、o 等,直接输入文本)、Visual(v、V、Ctrl-v,选中文本后操作)、Command(:,执行 ex 命令、搜索替换)、Replace(R,覆盖已有文本)。Normal 模式是基准,其他模式为特定目的进入后返回 Normal。
移动命令(Motions) 包括字符与行移动(h j k l、0、^、$、g_)、按词移动(w/W、b/B、e/E、ge,其中 word 指字母/数字/下划线,WORD 指任意非空白字符)、行与文件导航(gg、G、5G、H/M/L、%、{ }、( ))、搜索与查找(f/F/t/T、;、,、/、?、n/N、*、#、gd、gf)以及滚动(Ctrl-d/Ctrl-u、Ctrl-f/Ctrl-b、zz/zt/zb、Ctrl-e/Ctrl-y)。
操作符与文本对象 操作符包括 d、c、y、>、<、=、gq、gu、gU、g~,操作符与移动组合即构成动作,例如 dw、d$、dG、cw、ct)、yy、>>、=ap、gqip、gUiw。文本对象分为 i(内部)与 a(包含分隔符),覆盖词、句、段、各种引号与括号、HTML/XML 标签等,常见组合如 ciw、ci"、ci(、da"、dap、dit、vit、yiw、yi{、>ip、=i{。
插入、可视模式与寄存器 插入模式入口有 i/I、a/A、o/O、s/S、C、gi。可视模式分字符、行、块三种,块选择可配合 I、A、c、d、r 对多行批量编辑,并提供 V3j>、vip:sort 等示例。寄存器部分说明 �{reg}、+ 系统剪贴板、0 最近复制、_ 黑洞寄存器等用法及特殊寄存器含义。
宏、标记与搜索替换 宏通过 qa 录制、q 停止、@a 播放,可重复与批量执行,并支持递归宏与编辑宏。标记包括 ma 设置与 'a 跳转,以及自动标记与跨文件的大写全局标记。搜索替换涵盖 :s、:%s、范围替换、可视选区替换与 global 命令。
窗口、缓冲区与常用命令 包含分屏、窗口切换与调整、标签页、缓冲区切换与批量替换,以及 . 重复、u/Ctrl-r、J/gJ、Ctrl-a/Ctrl-x、gf/gx、:!cmd 等实用命令。
配置与编辑器集成 给出 .vimrc 要点(leader、number、ignorecase、expandtab 等与若干映射),以及 VS Code(vscodevim settings.json)、JetBrains(IdeaVim,~/.ideavimrc)、Neovim(init.lua 与 vim.keymap.set)的配置差异说明。
适用场景与限制 适用于已在或准备使用 Vim 及 Vim 键位插件的开发者、运维与文本处理场景。资料未提供安装方式、版本要求、许可与收费信息,相关内容暂未提供。