*index.txt* For Vim version 7.3. 最近更新: 2011年5月
VIM 参考手册 by Bram Moolenaar 译者: Willis
http://vimcdoc.sf.net
*index* 本文件包含各个模式下的所有命令的一个列表。包含它们的标签和简单说明。列表以 ASCII 值排序。
提示: 要找特定功能,使用搜索命令。例如,要找寻如何删除,使用: \"/删除\"。
1. 插入模式 |insert-index| 2. 普通模式 |normal-index| 2.1. 文本对象 |objects| 2.2. 窗口命令 |CTRL-W| 2.3. 方括号命令 |[| 2.4. 'g' 开头的命令 |g| 2.5. 'z' 开头的命令 |z|
3. 可视模式 |visual-index| 4. 命令行编辑 |ex-edit-index| 5. EX 命令 |ex-cmd-index|
选项总览可见 help.txt |option-list|。 内建函数总览可见 |functions|。 Vim 变量的列表可见 |vim-variable|。 帮助项目的完整列表可见 |help-tags|。
1. 插入模式 *insert-index*
标签 字符 插入模式动作
|i_CTRL-@| CTRL-@ 插入最近插入的文本并停止插入 |i_CTRL-A| CTRL-A 插入最近插入的文本 CTRL-B 不用 |i_CTRL-B-gone|
|i_CTRL-C| CTRL-C 退出插入模式,不检查缩写,除非置位了 'insertmode'。
|i_CTRL-D| CTRL-D 在当前行删除一个 shiftwidth 的缩进 |i_CTRL-E| CTRL-E 插入光标下方的字符
CTRL-F 不用 (但缺省是 'cinkeys' 中的一项,用以重新缩
进本行)
|i_CTRL-G_j| CTRL-G CTRL-J 往下一行,到插入开始的列 |i_CTRL-G_j| CTRL-G j 往下一行,到插入开始的列 |i_CTRL-G_j| CTRL-G 输入二合字母 (只有打开了 'digraph' 选项才有效) |i_CTRL-H| CTRL-H 等同于 |i_CTRL-L| CTRL-L 'insertmode' 打开时: 离开插入模式 |i_ |i_CTRL-N| CTRL-N 查找光标前面的关键字的下一个匹配 |i_CTRL-O| CTRL-O 执行单个命令然后回到插入模式 |i_CTRL-P| CTRL-P 查找光标前面的关键字的前一个匹配 |i_CTRL-Q| CTRL-Q 等同于 CTRL-V,除非它用于终端控制流 |i_CTRL-R| CTRL-R {0-9a-z\"%#*:=} 插入寄存器内容 |i_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z\"%#*:=} 按本义插入寄存器内容 |i_CTRL-R_CTRL-O| CTRL-R CTRL-O {0-9a-z\"%#*:=} 按本义插入寄存器内容,而且不自动缩进 |i_CTRL-R_CTRL-P| CTRL-R CTRL-P {0-9a-z\"%#*:=} 按本义插入寄存器内容,而且修正缩进 CTRL-S (用于终端控制流) |i_CTRL-T| CTRL-T 在当前行插入一个 shiftwidth 的缩进 |i_CTRL-U| CTRL-U 删除当前行的所有输入字符 |i_CTRL-V| CTRL-V {char} 按本义插入下一个非数字字符 |i_CTRL-V_digit| CTRL-V {number} 插入三位十进制数字代表的单个字节。 |i_CTRL-W| CTRL-W 删除光标前的单词 |i_CTRL-X| CTRL-X {mode} 进入 CTRL-X 子模式,见 |i_CTRL-X_index| |i_CTRL-Y| CTRL-Y 插入光标上方的字符 |i_CTRL-Z| CTRL-Z 'insertmode' 打开时: 暂停 Vim |i_ |i_CTRL-\\_CTRL-N| CTRL-\\ CTRL-N 进入普通模式 |i_CTRL-\\_CTRL-G| CTRL-\\ CTRL-G 进入 'insertmode' 指定的模式 CTRL-\\ a - z 保留给扩展用 CTRL-\\ others 不用 |i_CTRL-]| CTRL-] 切换缩写 |i_CTRL-^| CTRL-^ 切换 |:lmap| 映射的使用 |i_CTRL-_| CTRL-_ 'allowrevins' 打开时: 改变语言 (希伯来语,波斯语等) {仅当编译时加入 |+rightleft| 特性才有效} |i_0_CTRL-D| 0 CTRL-D 删除当前行的所有缩进 |i_^_CTRL-D| ^ CTRL-D 删除当前行的所有缩进,在下一行恢复删除的缩进 |i_ Meta 字符 (0x80 到 0xff,128 到 255) 不用 |i_ |i_ |i_ |i_ CTRL-X 子模式的命令 *i_CTRL-X_index* |i_CTRL-X_CTRL-D| CTRL-X CTRL-D 补全定义过的标识符 |i_CTRL-X_CTRL-E| CTRL-X CTRL-E 上滚 |i_CTRL-X_CTRL-F| CTRL-X CTRL-F 补全文件名 |i_CTRL-X_CTRL-I| CTRL-X CTRL-I 补全标识符 |i_CTRL-X_CTRL-K| CTRL-X CTRL-K 从字典补全标识符 |i_CTRL-X_CTRL-L| CTRL-X CTRL-L 补全完整的行 |i_CTRL-X_CTRL-N| CTRL-X CTRL-N 下一个补全 |i_CTRL-X_CTRL-O| CTRL-X CTRL-O 全能 (omni) 补全 |i_CTRL-X_CTRL-P| CTRL-X CTRL-P 上一个补全 |i_CTRL-X_CTRL-S| CTRL-X CTRL-S 拼写建议 |i_CTRL-X_CTRL-T| CTRL-X CTRL-T 从同义词词典补全标识符 |i_CTRL-X_CTRL-U| CTRL-X CTRL-U 用 'completefunc' 补全 |i_CTRL-X_CTRL-V| CTRL-X CTRL-V 如同 : 命令行那样补全 |i_CTRL-X_CTRL-Y| CTRL-X CTRL-Y 下滚 |i_CTRL-X_CTRL-]| CTRL-X CTRL-] 补全标签 |i_CTRL-X_s| CTRL-X s 拼写建议 {仅当编译时加入 |+insert_expand| 特性才有效} 2. 普通模式 *normal-index* CHAR 任何非空白字符 WORD 非空白字符的序列 (字串) N 命令前输入的数值 {motion} 光标移动命令 Nmove {motion} 移动经过的文本 SECTION 可能以 '}' 而不是 '{' 开始的小节 备注: 1 = 光标移动命令;2 = 可以撤消/重做 标签 字符 备注 普通模式的动作 CTRL-@ 不用 |CTRL-A| CTRL-A 2 把 N 加到光标所在/之后的数值上 |CTRL-B| CTRL-B 1 反向 (Back) 滚动 N 屏 |CTRL-C| CTRL-C 终止当前的 (搜索) 命令 |CTRL-D| CTRL-D 向下 (Down) 滚动 N 行 (缺省: 半屏) |CTRL-E| CTRL-E 向上滚动 N 行 (附加 (Extra) N 行) |CTRL-F| CTRL-F 1 向前 (Forward) 滚动 N 屏 |CTRL-G| CTRL-G 显示当前文件名和位置 | | | |CTRL-O| CTRL-O 1 跳转到跳转表里第 N 个较旧的项目 |CTRL-P| CTRL-P 1 等同于 \"k\" CTRL-Q (用于终端控制流) |CTRL-R| CTRL-R 2 重做 'u' 撤消的改变 CTRL-S (用于终端控制流) |CTRL-T| CTRL-T 跳转到标签列表的第 N 个较老的标签 (Tag) |CTRL-U| CTRL-U 上滚 (Upwards) N 行 (缺省: 半屏) |CTRL-V| CTRL-V 开始面向列块的可视 (Visual) 模式 |CTRL-W| CTRL-W {char} 窗口命令,见 |CTRL-W| |CTRL-X| CTRL-X 2 从光标所在/之后的数值上减去 N |CTRL-Y| CTRL-Y 下滚 N 行 |CTRL-Z| CTRL-Z 暂停程序 (或者启动新的外壳) CTRL-[ |CTRL-\\_CTRL-N| CTRL-\\ CTRL-N 进入普通 (Normal) 模式 (空动作) |CTRL-\\_CTRL-G| CTRL-\\ CTRL-G 进入 'insertmode' 指定的模式 CTRL-\\ a - z 保留作扩展用 CTRL-\\ 其它 不用 |CTRL-]| CTRL-] :ta 到光标所在的标识符 |CTRL-^| CTRL-^ 编辑第 N 个轮换文件 (等价于 \":e #N\") CTRL-_ 不用 | 2 通过 {filter} 命令过滤 Nmove 文本 |!!| !!{filter} 2 通过 {filter} 命令过滤 N 行 |quote| \"{a-zA-Z0-9.%#:-\指定下次删除、抽出或放置使用的寄存器 {a-zA-Z0-9.%#:-\大写用于添加) ({.%#:} 只能用于放置) |#| # 1 反向搜索第 N 次出现的光标所在的标识符 |$| $ 1 光标移动到往下第 N 行的行尾之后 |%| % 1 查找本行下一个 (花/方) 括号,并转到其匹配的 括号上,或者转到匹配的注释配对上,或者转到 匹配的预处理命令上。 |N%| {count}% 1 转到文件的百分之 N 的位置上 |&| & 2 重复上次 :s |'| '{a-zA-Z0-9} 1 光标移动到位置标记 {a-zA-Z0-9} 所在行的第一 个 CHAR 上 |''| '' 1 光标移动到最近一次跳转之前所在行的第一个 CHAR 上 |'(| '( 1 光标移动到当前句子的首部所在行的第一个 CHAR 上 |')| ') 1 光标移动到当前句子的尾部所在行的第一个 CHAR 上 |'<| '< 1 光标移动到当前缓冲区高亮区开始/曾经开始的行 的第一个 CHAR 上。 |'>| '> 1 光标移动到当前缓冲区高亮区结束/曾经结束的行 的第一个 CHAR 上。 |'[| '[ 1 光标移动到当前缓冲区最近操作/放置的文本的首 部所在行的第一个 CHAR 上 |']| '] 1 光标移动到当前缓冲区最近操作/放置的文本的尾 部所在行的第一个 CHAR 上 |'{| '{ 1 光标移动到当前段落的首部所在行的第一个 CHAR 上 |'}| '} 1 光标移动到当前段落的尾部所在行的第一个 CHAR 上 |(| ( 1 光标回退 N 个句子 |)| ) 1 光标前进 N 个句子 |star| * 1 正向搜索第 N 次出现的光标所在的标识符 |+| + 1 等同于 |,| , 1 反方向重复最近的 f、t、F 或 T N 次 |-| - 1 光标移动到上方 N 行的第一个 CHAR 上 |.| . 2 重复最近的改变,其计数被 N 取代 |/| /{pattern} |:| : 1 开始进入 Ex 命令 |N:| {count}: 开始进入 Ex 命令,给出从当前行开始到下方 N-1 行为止的行范围 |;| ; 1 重复最近的 f、t、F 或 T N 次 |<| <{motion} 2 左移 Nmove 文本行一个 'shiftwidth' |<<| << 2 左移 N 行一个 'shiftwidth' |=| ={motion} 2 通过 \"indent\" 过滤 Nmove 文本行 |==| == 2 通过 \"indent\" 过滤 N 行 |>| >{motion} 2 右移 Nmove 文本行一个 'shiftwidth' |>>| >> 2 右移 N 行一个 'shiftwidth' |?| ?{pattern} |B| B 1 光标反向移动 N 个 WORD (字串) |C| [\"x]C 2 从光标位置到行尾部分,再加上 N-1 行进行修改 [到缓冲区 (译者注: 应为寄存器,下同) x];等 价于 \"c$\" |D| [\"x]D 2 删除位置到行尾部分,再加上 N-1 行的字符 [到 缓冲区 (见上) x];等价于 \"d$\" |E| E 1 光标正向移动到第 N 个 WORD 的结束处 |F| F{char} 1 光标左移到第 N 次出现的 {char} 上 |G| G 1 光标移动到第 N 行,缺省是最后一行 |H| H 1 光标移动到屏幕顶部开始算的第 N 行 |I| I 2 在本行第一个 CHAR 之前插入文本 N 次 |J| J 2 连接 (Join) N 行;缺省为 2 |K| K 查找光标所在的关键字 (Keyword),使用 'keywordprg' 的定义 |L| L 1 光标移动到屏幕底部开始算的第 N 行 |M| M 1 光标移动到屏幕的中间一行 |N| N 1 反方向重复最近的 '/' 或 '?' N 次 |O| O 2 在光标上方开始一个新行,并插入文本,重复 N 次 |P| [\"x]P 2 在光标放置文本 [到缓冲区 (见上) x] N 次 |Q| Q 切换到 \"Ex\" 模式 |R| R 2 进入替换模式: 覆盖存在的字符,重复输入文本 N-1 次 |S| [\"x]S 2 删除 N 行 [到缓冲区 (见上) x]] 并开始输入; 等价于 \"cc\" |T| T{char} 1 光标移动到左侧第 N 次出现的 {char} 之前 |U| U 2 撤消一行内所有最近的改变 |V| V 进入面向行的可视 (Visual) 模式 |W| W 1 光标前移 N 个 WORD |X| [\"x]X 2 删除光标前的 N 个字符 [到缓冲区 (见上) x] |Y| [\"x]Y 抽出 N 行 [到缓冲区 (见上) x];等价于 \"yy\" |ZZ| ZZ 如果修改过,保存当前文件,然后退出 |ZQ| ZQ 无论如何退出当前文件 |[| [{char} 方括号命令 (见下 |[|) \\ 不用 |]| ]{char} 方括号命令 (见下 |]|) |^| ^ 1 光标移动到本行的第一个 CHAR 上 |_| _ 1 光标移动到下方第 N - 1 行的第一个 CHAR 上 |`| `{a-zA-Z0-9} 1 光标移动到位置标记 {a-zA-Z0-9} |`(| `( 1 光标移动当前句子的开始处 |`)| `) 1 光标移动当前句子的结束处 |`<| `< 1 光标移动高亮区域的开始处 |`>| `> 1 光标移动高亮区域的结束处 |`[| `[ 1 光标移动最近一次操作/放置的文本的开始处 |`]| `] 1 光标移动最近一次操作/放置的文本的结束处 |``| `` 1 光标移动最近一次跳转的位置 |`{| `{ 1 光标移动当前段落的开始处 |`}| `} 1 光标移动当前段落的结束处 |a| a 2 在光标处附加文本 N 次 |b| b 1 光标反向移动 N 个单词 |c| [\"x]c{motion} 2 删除 Nmove 文本 [到缓冲区 (见上) x] 并开始 编辑 |cc| [\"x]cc 2 删除 N 行 [到缓冲区 (见上) x] 并开始编辑 |d| [\"x]d{motion} 2 删除 Nmove 文本 [到缓冲区 (见上) x] |dd| [\"x]dd 2 删除 N 行 [到缓冲区 (见上) x]] |do| do 2 等同于 \":diffget\" |dp| dp 2 等同于 \":diffput\" |e| e 1 光标正向移动到第 N 个单词的结束处 |f| f{char} 1 光标右移到第 N 次出现的 {char} 上 |g| g{char} 扩展命令,见下 |g| |h| h 1 光标左移 N 个字符 |i| i 2 在光标前插入文本 N 次 |j| j 1 光标下移 N 行 |k| k 1 光标上移 N 行 |l| l 1 光标右移 N 个字符 |m| m{A-Za-z} 在光标位置处设置位置标记 {A-Za-z} |n| n 1 重复最近的 '/' 或 '?' N 次 |o| o 2 在光标下方开始一个新行,并插入文本,重复 N 次 |p| [\"x]p 2 在光标后放置文本 [从寄存器 x] N 次 |q| q{0-9a-zA-Z\记录输入的字符到命令寄存器 {0-9a-zA-Z\ (大写用于添加) |q| q (在记录时) 停止记录 |q:| q: 在命令行窗口里编辑 : 命令行 |q/| q/ 在命令行窗口里编辑 / 命令行 |q?| q? 在命令行窗口里编辑 ? 命令行 |r| r{char} 2 用 {char} 替换 N 个字符 |s| [\"x]s 2 (替换) 删除 N 个字符 [到缓冲区 (见上) x] 并 开始输入 |t| t{char} 1 光标移动到右侧第 N 次出现的 {char} 之前 |u| u 2 撤消改变 |v| v 开始面向字符的可视 (Visual) 模式 |w| w 1 光标前移 N 个单词 |x| [\"x]x 2 删除光标开始的 N 个字符 [到缓冲区 (见上) x] |y| [\"x]y{motion} 抽出 Nmove 文本 [到缓冲区 (见上) x] |yy| [\"x]yy 抽出 N 行 [到缓冲区 (见上) x] |z| z{char} 'z' 开始的命令,见下 |z| |{| { 1 光标反向移动 N 个段落 |bar| | 1 光标移到第 N 列 |}| } 1 光标正向移动 N 个段落 |~| ~ 2 'tildeop' 关闭时: 切换光标所在处开始的 N 个 字符的大小写,并右移光标 N 个字符 |~| ~{motion} 'tildeop' 打开时: 切换 Nmove 文本的大小写 | | |N | | | | | | 2.1 文本对象 *objects* 他们可以用在操作符之后,或者在可视模式里选择一个对象。 标签 命令 操作符等待和可视模式下的动作 |v_aquote| a\" 双引号字符串 |v_a'| a' 单引号字符串 |v_a(| a( 等同于 ab |v_a)| a) 等同于 ab |v_a<| a< \"一个 <> 块\" 从 '<' 到匹配的 '>' |v_a>| a> 等同于 a< |v_aB| aB \"一个大块\" 从 \"[{\" 到 \"]}\" (带上括号) |v_aW| aW \"一个字串\" (带上空白) |v_a[| a[ \"一个 [] 块\" 从 '[' 到匹配的 ']' |v_a]| a] 等同于 a[ |v_a`| a` 反引号字符串 |v_ab| ab \"一个块\" 从 \"[(\" 到 \"])\" (带上括号) |v_ap| ap \"一个段落\" (带上空白) |v_as| as \"一个句子\" (带上空白) |v_at| at \"一个标签块\" (带上空白) |v_aw| aw \"一个单词\" (带上空白) |v_a{| a{ 等同于 aB |v_a}| a} 等同于 aB |v_iquote| i\" 双引号字符串,不带引号 |v_i'| i' 单引号字符串,不带引号 |v_i(| i( 等同于 ib |v_i)| i) 等同于 ib |v_i<| i< \"内含 <> 块\" 从 '<' 到匹配的 '>' |v_i>| i> 等同于 i< |v_iB| iB \"内含大块\" 从 \"[{\" 到 \"]}\" |v_iW| iW \"内含字串\" |v_i[| i[ \"内含 [] 块\" 从 '[' 到匹配的 ']' |v_i]| i] 等同于 i[ |v_i`| i` 反引号字符串,不带反引号 |v_ib| ib \"内含块\" 从 \"[(\" 到 \"])\" |v_ip| ip \"内含段落\" |v_is| is \"内含句子\" |v_it| it \"内含标签块\" |v_iw| iw \"内含单词\" |v_i{| i{ 等同于 iB |v_i}| i} 等同于 iB 2.2 窗口命令 *CTRL-W* 标签 命令 普通模式下的动作 |CTRL-W_CTRL-B| CTRL-W CTRL-B 等同于 \"CTRL-W b\" |CTRL-W_CTRL-C| CTRL-W CTRL-C 等同于 \"CTRL-W c\" |CTRL-W_CTRL-D| CTRL-W CTRL-D 等同于 \"CTRL-W d\" |CTRL-W_CTRL-F| CTRL-W CTRL-F 等同于 \"CTRL-W f\" CTRL-W CTRL-G 等同于 \"CTRL-W g ..\" |CTRL-W_CTRL-H| CTRL-W CTRL-H 等同于 \"CTRL-W h\" |CTRL-W_CTRL-I| CTRL-W CTRL-I 等同于 \"CTRL-W i\" |CTRL-W_CTRL-J| CTRL-W CTRL-J 等同于 \"CTRL-W j\" |CTRL-W_CTRL-K| CTRL-W CTRL-K 等同于 \"CTRL-W k\" |CTRL-W_CTRL-L| CTRL-W CTRL-L 等同于 \"CTRL-W l\" |CTRL-W_CTRL-N| CTRL-W CTRL-N 等同于 \"CTRL-W n\" |CTRL-W_CTRL-O| CTRL-W CTRL-O 等同于 \"CTRL-W o\" |CTRL-W_CTRL-P| CTRL-W CTRL-P 等同于 \"CTRL-W p\" |CTRL-W_CTRL-Q| CTRL-W CTRL-Q 等同于 \"CTRL-W q\" |CTRL-W_CTRL-R| CTRL-W CTRL-R 等同于 \"CTRL-W r\" |CTRL-W_CTRL-S| CTRL-W CTRL-S 等同于 \"CTRL-W s\" |CTRL-W_CTRL-T| CTRL-W CTRL-T 等同于 \"CTRL-W t\" |CTRL-W_CTRL-V| CTRL-W CTRL-V 等同于 \"CTRL-W v\" |CTRL-W_CTRL-W| CTRL-W CTRL-W 等同于 \"CTRL-W w\" |CTRL-W_CTRL-X| CTRL-W CTRL-X 等同于 \"CTRL-W x\" |CTRL-W_CTRL-Z| CTRL-W CTRL-Z 等同于 \"CTRL-W z\" |CTRL-W_CTRL-]| CTRL-W CTRL-] 等同于 \"CTRL-W ]\" |CTRL-W_CTRL-^| CTRL-W CTRL-^ 等同于 \"CTRL-W ^\" |CTRL-W_CTRL-_| CTRL-W CTRL-_ 等同于 \"CTRL-W _\" |CTRL-W_+| CTRL-W + 增加当前窗口高度 N 行 |CTRL-W_-| CTRL-W - 减少当前窗口高度 N 行 |CTRL-W_<| CTRL-W < 减少当前窗口宽度 N 列 |CTRL-W_=| CTRL-W = 使得所有窗口同宽同高 |CTRL-W_>| CTRL-W > 增加当前窗口宽度 N 列 |CTRL-W_H| CTRL-W H 移动当前窗口到最左端 |CTRL-W_J| CTRL-W J 移动当前窗口到最底部 |CTRL-W_K| CTRL-W K 移动当前窗口到最顶部 |CTRL-W_L| CTRL-W L 移动当前窗口到最右端 |CTRL-W_P| CTRL-W P 跳转到预览窗口 |CTRL-W_R| CTRL-W R 向上旋转窗口 N 次 |CTRL-W_S| CTRL-W S 等同于 \"CTRL-W s\" |CTRL-W_T| CTRL-W T 移动当前窗口到新标签页 |CTRL-W_W| CTRL-W W 跳转到前面第 N 个窗口 (回绕) |CTRL-W_]| CTRL-W ] 分割窗口并跳转到光标所在的标签上 |CTRL-W_^| CTRL-W ^ 分割窗口并编辑轮换文件 N |CTRL-W__| CTRL-W _ 设置当前窗口高度为 N (缺省: 尽量大) |CTRL-W_b| CTRL-W b 跳转到底部的窗口 |CTRL-W_c| CTRL-W c 关闭当前窗口 (类似于 |:close|) |CTRL-W_d| CTRL-W d 分割窗口并跳转到光标所在的定义上 |CTRL-W_f| CTRL-W f 分割窗口并跳转到光标所在的文件名上 |CTRL-W_F| CTRL-W F 分割窗口并编辑光标所在的文件名,然后跳转到 文件名后给出的行号上。 |CTRL-W_g_CTRL-]| CTRL-W g CTRL-] 分割窗口并在光标所在的标签上执行 |:tjump| |CTRL-W_g]| CTRL-W g ] 分割窗口并在光标所在的标签上执行 |:tselect| |CTRL-W_g}| CTRL-W g } 在光标所在的标签上执行 |:ptjump| |CTRL-W_gf| CTRL-W g f 在新的标签页里编辑光标所在的文件名 |CTRL-W_gF| CTRL-W g F 在新的标签页里编辑光标所在的文件名然后跳转 到文件名后给出的行号上。 |CTRL-W_h| CTRL-W h 跳转到左面第 N 个的窗口 (在首个窗口上停止) |CTRL-W_i| CTRL-W i 分割窗口并跳转到光标所在的标识符的声明上 |CTRL-W_j| CTRL-W j 跳转到下面第 N 个的窗口 (在最后窗口上停止) |CTRL-W_k| CTRL-W k 跳转到上面第 N 个的窗口 (在首个窗口上停止) |CTRL-W_l| CTRL-W l 跳转到右面第 N 个的窗口 (在最后窗口上停止) |CTRL-W_n| CTRL-W n 打开新窗口,N 行高 |CTRL-W_o| CTRL-W o 关闭除了当前窗口以外的所有窗口 (类似于 |:only|) |CTRL-W_p| CTRL-W p 转到前面一个 (最近访问的) 窗口 |CTRL-W_q| CTRL-W q 退出当前窗口 (类似于 |:quit|) |CTRL-W_r| CTRL-W r 向下旋转窗口 N 次 |CTRL-W_s| CTRL-W s 分割当前窗口为两部分,新的窗口 N 行高 |CTRL-W_t| CTRL-W t 跳转到顶部窗口 |CTRL-W_v| CTRL-W v 垂直分割当前窗口,新的窗口 N 列宽 |CTRL-W_w| CTRL-W w 转到后面第 N 个窗口 (回绕) |CTRL-W_x| CTRL-W x 交换当前和第 N 个窗口 (缺省: 下一个窗口) |CTRL-W_z| CTRL-W z 关闭预览窗口 |CTRL-W_bar| CTRL-W | 设置窗口宽度为 N 列 |CTRL-W_}| CTRL-W } 在预览窗口里显示光标所在的标签 |CTRL-W_ 2.3 方括号命令 *[* *]* 标签 字符 备注 普通模式下的动作 |[_CTRL-D| [ CTRL-D 跳转到第一个在当前文件和它包含的头文件里匹 配光标所在的单词的 #define,从当前文件的头 部开始 |[_CTRL-I| [ CTRL-I 跳转到第一个在当前文件和它包含的头文件里匹 配光标所在单词的位置,从当前文件头部开始 |[#| [# 1 光标移动到前面第 N 个未匹配的 #if、#else 或 者 #ifdef |['| [' 1 光标移动到前面的小写位置标记,定位在它所在 行的第一个非空白字符上 |[(| [( 1 光标移动到前面第 N 个未匹配的 '(' |[star| [* 1 等同于 \"[/\" |[`| [` 1 光标移动到前一个小写位置标记 |[/| [/ 1 光标移动到前面第 N 个 C 注释的开始处 |[D| [D 列出在当前文件和它包含的头文件里匹配光标所 在的单词的所有定义,从当前文件的头部开始 |[I| [I 列出在当前文件和它包含的头文件里匹配光标所 在单词的所有位置,从当前文件的头部开始 |[P| [P 2 等同于 \"[p\" |[[| [[ 1 光标后退 N 个小节 |[]| [] 1 光标后退 N 个 SECTION |[c| [c 1 光标后退 N 个更改开始的地方 |[d| [d 显示第一个在当前文件和它包含的头文件里匹配 光标所在的单词的 #define,从当前文件的头部 开始 |[f| [f 等同于 \"gf\" |[i| [i 显示第一个在当前文件和它包含的头文件里匹配 光标所在单词的位置,从当前文件的头部开始 |[m| [m 1 光标后退 N 个成员函数的开始 |[p| [p 2 类似于 \"P\",但调整当前行的缩进 |[s| [s 1 移动到前一个拼写错误的单词 |[z| [z 1 移动到打开的折叠的开始 |[{| [{ 1 光标后退 N 个未匹配的 '{' |[ |]_CTRL-D| ] CTRL-D 跳转到第一个在当前文件和它包含的头文件里匹 配光标所在的单词的 #define,从光标位置开始 |]_CTRL-I| ] CTRL-I 跳转到第一个在当前文件和它包含的头文件里匹 配光标所在单词的位置,从光标位置开始 |]#| ]# 1 光标移动到后面第 N 个未匹配的 #endif、#else |]'| ]' 1 光标移动到后面的小写位置标记,定位在它所在 行的第一个非空白字符上 |])| ]) 1 光标移动到后面第 N 个未匹配的 ')' |]star| ]* 1 等同于 \"]/\" |]`| ]` 1 光标移动到后一个小写位置标记 |]/| ]/ 1 光标移动到后面第 N 个 C 注释的结尾处 |]D| ]D 列出在当前文件和它包含的头文件里匹配光标所 在的单词的所有定义,从光标位置开始 |]I| ]I 列出在当前文件和它包含的头文件里匹配光标所 在单词的所有位置,从光标位置开始 |]P| ]P 2 等同于 \"[p\" |][| ][ 1 光标前进 N 个小节 |]]| ]] 1 光标前进 N 个 SECTION |]c| ]c 1 光标前进 N 个更改开始的地方 |]d| ]d 显示第一个在当前文件和它包含的头文件里匹配 光标所在的单词的 #define,从光标位置开始 |]f| ]f 等同于 \"gf\" |]i| ]i 显示第一个在当前文件和它包含的头文件里匹配 光标所在单词的位置,从光标位置开始 |]m| ]m 1 光标前进 N 个成员函数的结尾 |]p| ]p 2 类似于 \"p\",但调整当前行的缩进 |]s| ]s 1 移动到后一个拼写错误的单词 |]z| ]z 1 移动到打开的折叠的结尾处 |]}| ]} 1 光标前进 N 个未匹配的 '}' |] 2.4 'g' 开始的命令 *g* 标签 字符 备注 普通模式下的动作 |g_CTRL-A| g CTRL-A 只有在编译时加入了 MEM_PROFILE 时才有定义: 转储内存内容 |g_CTRL-G| g CTRL-G 显示当前光标位置 |g_CTRL-H| g CTRL-H 启动选择列块模式 |g_CTRL-]| g CTRL-] |:tjump| 到光标所在的标签上 |g#| g# 1 类似于 \"#\",但不使用 \"\\<\" 和 \"\\>\" |g$| g$ 1 'wrap' 关闭时转到当前行最右侧屏幕上可见的字 符 'wrap' 打开时转到当前屏幕行最右侧的字符 |g&| g& 2 在所有行上重复上次的 \":s\" |g'| g'{mark} 1 类似于 |'|,但不改变跳转表 |g`| g`{mark} 1 类似于 |`|,但不改表跳转表 |gstar| g* 1 |g0| g0 1 |g8| g8 |g<| g< |g?| g? 2 Rot13 |g?g?| g?? 2 Rot13 |g?g?| g?g? 2 Rot13 |gD| gD 1 |gE| gE 1 |gH| gH |gI| gI 2 |gJ| gJ 2 |gP| [\"x]gP 2 |gQ| gQ Vim |gR| gR 2 |gU| gU{motion}|gV| gV |g]| g] :tselect |g^| g^ 1 |ga| ga |gd| gd 1 |ge| ge 1 |gf| gf |gF| gF |gg| gg 1 |gh| gh |gi| gi 2 类似于 \"*\",但不使用 \"\\<\" 和 \"\\>\" 'wrap' 关闭时转到当前行最左侧屏幕上可见的字 符 'wrap' 打开时转到当前屏幕行最左侧的字符 显示光标所在的 UTF-8 字符的十六进制字节码 显示上次的命令输出 编码操作符 编码当前行 编码当前行 转到当前文件的光标所在单词的定义 反向转移到上一个 WORD 的结尾处 启动选择行模式 类似于 \"I\",但总是从第一列开始 连接行,不插入空格 在光标签放置文本 [从寄存器 x] N 次,光标留 在插入文本之后 编辑时进入 \"Ex\" 模式 进入虚拟替换模式 使得 Nmove 文本全部大写 在执行选择模式下的映射或者菜单时,不要重复 选择过去的可视区域 到光标所在的标签上 'wrap' 关闭时转到当前行最左侧屏幕上可见的非 空白字符 'wrap' 打开时转到当前屏幕行最左侧的非空白字 符 打印光标所在处的字符的 ascii 值 转到当前函数里当前光标所在的单词的定义 反向转到前一个单词的结尾处 开始编辑当前光标所在的名字对应的文件 开始编辑光标所在的文件名并跳转到文件名后的 行号上。 光标移动到第 N 行,缺省是第一行 开始选择模式 类似于 \"i\",但先移动到 |'^| 位置标记 2 |gj| gj 1 类似于 \"j\",但 'wrap' 打开时往下 N 个屏幕行 |gk| gk 1 类似于 \"k\",但 'wrap' 打开时往上 N 个屏幕行 |gm| gm 1 转到屏幕行正中间的那个字符 |go| go 1 光标移动到缓冲区的第 N 个字节 |gp| [\"x]gp 2 在光标后面放置文本 [从寄存器 x] N 次,光标 留在后面 |gq| gq{motion} 2 排版 Nmove 文本 |gr| gr{char} 2 虚拟替换 N 个字符为 {char} |gs| gs 睡眠 N 秒 (缺省 1) |gu| gu{motion} 2 使得 Nmove 文本全部小写 |gv| gv 重新选择上次的可视区域 |gw| gw{motion} 2 排版 Nmove 文本并保持光标位置 |netrw-gx| gx 执行光标下的文件名对应的应用程序 (仅限于 |netrw| 插件) |g@| g@{motion} 调用 'operatorfunc' |g~| g~{motion} 2 改变 Nmove 文本的大小写 |g |g 2.5 'z' 开始的命令 *z* 标签 字符 备注 普通模式下的动作 |z |zN |z-| z- 重画,光标移动到窗口末行的第一个非空白字符 |z.| z. 重画,光标移动到窗口的中间行的第一个非空白 字符 |z=| z= 给出拼写建议 |zA| zA 递归打开一个关闭的折叠或关闭一个打开的折叠 |zC| zC 递归关闭折叠 |zD| zD 递归删除折叠 |zE| zE 除去所有折叠 |zF| zF 为 N 行建立折叠 |zG| zG 把单词标记为拼写正确 (good) |zM| zM 设置 'foldlevel' 为零 |zN| zN 置位 'foldenable' |zO| zO 递归打开折叠 |zR| zR 设置 'foldlevel' 为最大折叠级别 |zW| zW 把单词标记为拼写错误 (wrong) |zX| zX 重新应用 'foldlevel' |z^| z^ 光标移动到第 N 行 (缺省为窗口之前的一行), 其它同 \"z-\" |za| za 打开关闭的折叠,或关闭打开的折叠 |zb| zb 重画,光标在窗口底行 |zc| zc 关闭折叠 |zd| zd 删除折叠 |ze| ze 'wrap' 关闭时,水平滚动使得光标定位到屏幕的 尾部 (最右侧) |zf| zf{motion} 为 Nmove 文本建立折叠 |zg| zg 把单词标记为拼写正确 (good) |zh| zh 'wrap' 关闭时,水平右滚屏幕 N 个字符 |zi| zi 切换 'foldenable' |zj| zj 1 移动到下一个折叠的开始处 |zk| zk 1 移动到前一个折叠的结束处 |zl| zl 'wrap' 关闭时,水平左滚屏幕 N 个字符 |zm| zm 从 'foldlevel' 减一 |zn| zn 复位 'foldenable' |zo| zo 打开折叠 |zr| zr 给 'foldlevel' 加一 |zs| zs 'wrap' 关闭时,水平滚动使得光标定位到屏幕的 起始处 (最左侧) |zt| zt 重画,光标移动到窗口的顶部 |zw| zw 把单词标记为拼写错误 (wrong) |zv| zv 打开足够的折叠,使得当前行可见 |zx| zx 重新应用 'foldlevel' 然后执行 \"zv\" |zz| zz 重画,光标移动到窗口的中间行 |z 3. 可视模式 *visual-index* 可视模式下,大多数命令同普通模式的相同。以下列出的是不同的部分。 标签 字符 备注 可视模式下的动作 |v_CTRL-\\_CTRL-N| CTRL-\\ CTRL-N 结束可视模式 |v_CTRL-\\_CTRL-G| CTRL-\\ CTRL-G 转到 'insertmode' 指定的模式 |v_CTRL-C| CTRL-C 结束可视模式 |v_CTRL-G| CTRL-G 在可视模式和选择模式间切换 |v_| 删除光标所在的字符| [\"x] 2 等同于 \"x\"| {count} 删除 {count} 最后的一位数字 |