http://vimcdoc.sourceforge.net/doc/
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
<Down>
往下一行,到插入开始的列|i_CTRL-G_k| CTRL-G
CTRL-K
往上一行,到插入开始的列|i_CTRL-G_k| CTRL-G
k 往上一行,到插入开始的列|i_CTRL-G_k| CTRL-G
<Up>
往上一行,到插入开始的列|i_CTRL-G_u| CTRL-G
u 开始新的不可撤消的编辑|i_<BS>| <BS>
删除光标前的字符|i_digraph| {char1}
<BS>
{char2}
输入二合字母 (只有打开了 'digraph' 选项才有效)|i_CTRL-H| CTRL-H
等同于 <BS>
|i_<Tab>| <Tab>
插入 <Tab>
字符|i_CTRL-I| CTRL-I
等同于 <Tab>
|i_<NL>| <NL>
等同于 <CR>
|i_CTRL-J| CTRL-J
等同于 <CR>
|i_CTRL-K| CTRL-K
{char1}
{char2}
输入二合字母|i_CTRL-L| CTRL-L
'insertmode' 打开时: 离开插入模式|i_<CR>| <CR>
开始新行|i_CTRL-M| CTRL-M
等同于 <CR>
|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_<Esc>| <Esc>
结束插入模式 (除非打开了 'insertmode')|i_CTRL-[| CTRL-[
等同于 <Esc>
|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| 特性才有效} <Space>
to '~' 不用,除了 CTRL-D
之前的 '0' 和 '^'|i_0_CTRL-D| 0 CTRL-D
删除当前行的所有缩进|i_^_CTRL-D| ^ CTRL-D
删除当前行的所有缩进,在下一行恢复删除的缩进|i_<Del>| <Del>
删除光标所在的字符 Meta 字符 (0x80 到 0xff,128 到 255) 不用|i_<Left>| <Left>
光标左移一个字符|i_<S-Left>| <S-Left>
光标左移一个单词|i_<C-Left>| <C-Left>
光标左移一个单词|i_<Right>| <Right>
光标右移一个字符|i_<S-Right>| <S-Right>
光标右移一个单词|i_<C-Right>| <C-Right>
光标右移一个单词|i_<Up>| <Up>
光标上移一行|i_<S-Up>| <S-Up>
等同于 <PageUp>
|i_<Down>| <Down>
光标下移一行|i_<S-Down>| <S-Down>
等同于 <PageDown>
|i_<Home>| <Home>
光标移到行首|i_<C-Home>| <C-Home>
光标移到文件首|i_<End>| <End>
光标移到行尾后面|i_<C-End>| <C-End>
光标移到文件尾后面|i_<PageUp>| <PageUp>
满屏上滚|i_<PageDown>| <PageDown>
满屏下滚|i_<F1>| <F1>
等同于 <Help>
|i_<Help>| <Help>
停止插入模式显示帮助窗口|i_<Insert>| <Insert>
切换插入/替换模式|i_<LeftMouse>| <LeftMouse>
光标移到鼠标点击处|i_<ScrollWheelDown>| <ScrollWheelDown>
窗口向下滚动三行|i_<S-ScrollWheelDown>| <S-ScrollWheelDown>
窗口向下滚动完整一页|i_<ScrollWheelUp>| <ScrollWheelUp>
窗口向上滚动三行|i_<S-ScrollWheelUp>| <S-ScrollWheelUp>
窗口向上滚动完整一页|i_<ScrollWheelLeft>| <ScrollWheelLeft>
窗口向左滚动六列|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft>
窗口向左滚动完整一页|i_<ScrollWheelRight>| <ScrollWheelRight>
窗口向右滚动六列|i_<S-ScrollWheelRight>| <S-ScrollWheelRight>
窗口向右滚动完整一页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
显示当前文件名和位置|<BS>| <BS>
1 等同于 "h"|CTRL-H| CTRL-H
1 等同于 "h"|<Tab>| <Tab>
1 跳转到跳转表里第 N 个较新的项目|CTRL-I| CTRL-I
1 等同于 <Tab>
|<NL>| <NL>
1 等同于 "j"|CTRL-J| CTRL-J
1 等同于 "j" CTRL-K
不用|CTRL-L| CTRL-L
重画屏幕|<CR>| <CR>
1 光标移到 N 行下面的第一个 CHAR|CTRL-M| CTRL-M
1 等同于 <CR>
|CTRL-N| CTRL-N
1 等同于 "j"|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-[
<Esc>
不用|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-_
不用|<Space>| <Space>
1 等同于 "l"|!| !{motion}
{filter}
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 等同于 <CR>
|,| , 1 反方向重复最近的 f、t、F 或 T N 次|-| - 1 光标移动到上方 N 行的第一个 CHAR 上|.| . 2 重复最近的改变,其计数被 N 取代|/| /{pattern}
<CR>
1 正向搜索第 N 次出现的 {pattern}
|/<CR>| /<CR>
1 正向搜索最近一次搜索使用的 {pattern}
|count| 0 1 光标移动到本行的第一个字符上|count| 1 附加于命令前,给出计数|count| 2 "|count| 3 "|count| 4 "|count| 5 "|count| 6 "|count| 7 "|count| 8 "|count| 9 "|:| : 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}
<CR>
1 反向搜索第 N 次出现的 {pattern}
|?<CR>| ?<CR>
1 反向搜索最近一次搜索使用的 {pattern}
|@| @{a-z}
2 执行 {a-z}
寄存器的内容 N 次|@:| @: 重复上次的 ":" 命令 N 次|@@| @@ 2 重复上次的 @{a-z}
N 次|A| A 2 在行尾附加文本 N 次|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 文本的大小写|<C-End>| <C-End>
1 等同于 "G"|<C-Home>| <C-Home>
1 等同于 "gg"|<C-Left>| <C-Left>
1 等同于 "b"|<C-LeftMouse>| <C-LeftMouse>
":ta" 到鼠标点击所在的单词上|<C-Right>| <C-Right>
1 等同于 "w"|<C-RightMouse>| <C-RightMouse>
等同于 "CTRL-T
"|<Del>| ["x]<Del>
2 等同于 "x"|N<Del>| {count}
<Del>
删除 {count}
最后的一位数字|<Down>| <Down>
1 等同于 "j"|<End>| <End>
1 等同于 "$"|<F1>| <F1>
等同于 <Help>
|<Help>| <Help>
打开帮助窗口|<Home>| <Home>
1 等同于 "0"|<Insert>| <Insert>
2 等同于 "i"|<Left>| <Left>
1 等同于 "h"|<LeftMouse>| <LeftMouse>
1 移动光标到鼠标点击处|<MiddleMouse>| <MiddleMouse>
2 等同于在鼠标点击处 "gP"|<PageDown>| <PageDown>
等同于 CTRL-F
|<PageUp>| <PageUp>
等同于 CTRL-B
|<Right>| <Right>
1 等同于 "l"|<RightMouse>| <RightMouse>
开始可视模式,移动光标到鼠标点击处|<S-Down>| <S-Down>
1 等同于 CTRL-F
|<S-Left>| <S-Left>
1 等同于 "b"|<S-LeftMouse>| <S-LeftMouse>
等同于在鼠标点击处 "*"|<S-Right>| <S-Right>
1 等同于 "w"|<S-RightMouse>| <S-RightMouse>
等同于在鼠标点击处 "#"|<S-Up>| <S-Up>
1 等同于 CTRL-B
|<Undo>| <Undo>
2 等同于 "u"|<Up>| <Up>
1 等同于 "k"|<ScrollWheelDown>| <ScrollWheelDown>
窗口向下滚动三行|<S-ScrollWheelDown>| <S-ScrollWheelDown>
窗口向下滚动完整一页|<ScrollWheelUp>| <ScrollWheelUp>
窗口向上滚动三行|<S-ScrollWheelUp>| <S-ScrollWheelUp>
窗口向上滚动完整一页|<ScrollWheelLeft>| <ScrollWheelLeft>
窗口向左滚动六列|<S-ScrollWheelLeft>| <S-ScrollWheelLeft>
窗口向左滚动完整一页|<ScrollWheelRight>| <ScrollWheelRight>
窗口向右滚动六列|<S-ScrollWheelRight>| <S-ScrollWheelRight>
窗口向右滚动完整一页
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_<Down>| CTRL-W
<Down>
等同于 "CTRL-W
j"|CTRL-W_<Up>| CTRL-W
<Up>
等同于 "CTRL-W
k"|CTRL-W_<Left>| CTRL-W
<Left>
等同于 "CTRL-W
h"|CTRL-W_<Right>| CTRL-W
<Right>
等同于 "CTRL-W
l"
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 个未匹配的 '{'|[<MiddleMouse>
[<MiddleMouse>
2 等同于 "[p"|]_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 个未匹配的 '}'|]<MiddleMouse>
]<MiddleMouse>
2 等同于 "]p"
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 'wrap' 关闭时转到当前行最左侧屏幕上可见的字 符 'wrap' 打开时转到当前屏幕行最左侧的字符|g8| g8 显示光标所在的 UTF-8 字符的十六进制字节码|g<| g< 显示上次的命令输出|g?| g? 2 Rot13 编码操作符|g?g?| g?? 2 Rot13 编码当前行|g?g?| g?g? 2 Rot13 编码当前行|gD| gD 1 转到当前文件的光标所在单词的定义|gE| gE 1 反向转移到上一个 WORD 的结尾处|gH| gH 启动选择行模式|gI| gI 2 类似于 "I",但总是从第一列开始|gJ| gJ 2 连接行,不插入空格|gP| ["x]gP 2 在光标签放置文本 [从寄存器 x] N 次,光标留 在插入文本之后|gQ| gQ Vim 编辑时进入 "Ex" 模式|gR| gR 2 进入虚拟替换模式|gU| gU{motion}
2 使得 Nmove 文本全部大写|gV| gV 在执行选择模式下的映射或者菜单时,不要重复 选择过去的可视区域|g]| g] :tselect 到光标所在的标签上|g^| g^ 1 'wrap' 关闭时转到当前行最左侧屏幕上可见的非 空白字符 'wrap' 打开时转到当前屏幕行最左侧的非空白字 符|ga| ga 打印光标所在处的字符的 ascii 值|gd| gd 1 转到当前函数里当前光标所在的单词的定义|ge| ge 1 反向转到前一个单词的结尾处|gf| gf 开始编辑当前光标所在的名字对应的文件|gF| gF 开始编辑光标所在的文件名并跳转到文件名后的 行号上。|gg| gg 1 光标移动到第 N 行,缺省是第一行|gh| gh 开始选择模式|gi| gi 2 类似于 "i",但先移动到 |'^| 位置标记|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<Down>| g<Down>
1 等同于 "gj"|g<End>| g<End>
1 等同于 "g$"|g<Home>| g<Home>
1 等同于 "g0"|g<LeftMouse>| g<LeftMouse>
等同于 <C-LeftMouse>
g<MiddleMouse>
等同于 <C-MiddleMouse>
|g<RightMouse>| g<RightMouse>
等同于 <C-RightMouse>
|g<Up>| g<Up>
1 等同于 "gk"
2.5 'z' 开始的命令 *z*
标签 字符 备注
普通模式下的动作
|z<CR>| z<CR>
重画,光标移动到窗口的顶行的第一个非空白字 符|zN<CR>| z{height}
<CR>
重画,使得窗口高度为 {height}
行|z+| z+ 光标移动到第 N 行 (缺省为窗口之后的第一 行),其它同 "z<CR>
"|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<Left>| z<Left>
等同于 "zh"|z<Right>| z<Right>
等同于 "zl"
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_<BS>| <BS>
2 选择模式: 删除高亮区域|v_CTRL-H| CTRL-H
2 等同于 <BS>
|v_CTRL-O| CTRL-O
从选择模式切换到可视模式,只限于下个命令|v_CTRL-V| CTRL-V
使得可视模式面向列块,或者退出可视模式|v_<Esc>| <Esc>
结束可视模式|v_CTRL-]| CTRL-]
跳转到高亮的标签上|v_!| !{filter}
2 通过外部命令 {filter}
过滤高亮行|v_:| : 使用高亮行作为范围,开始一个命令行|v_<| < 2 左移高亮行一个 'shiftwidth'|v_=| = 2 用 {equalprg}
选项指定的外部程序过滤高亮行|v_>| > 2 右移高亮行一个 'shiftwidth'|v_b_A| A 2 列块模式下: 在高亮区域的所有行后附加相同的 文本|v_C| C 2 删除高亮行,并开始插入|v_D| D 2 删除高亮行|v_b_I| I 2 列块模式: 在所有高亮行之前插入相同的文本|v_J| J 2 连接高亮行|v_K| K 在高亮区域上运行 'keywordprg'|v_O| O 水平移动到区域的另外一侧 Q 不启动 Ex 模式|v_R| R 2 删除高亮行并开始插入|v_S| S 2 删除高亮行并开始插入|v_U| U 2 使得高亮区域全变大写|v_V| V 使得可视区域面向行,或者退出可视模式|v_X| X 2 删除高亮区域|v_Y| Y 抽出高亮行|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 扩展高亮区域,使包含 "一个 WORD"|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_c| c 2 删除高亮区域,并开始插入|v_d| d 2 删除高亮区域|v_gJ| gJ 2 连接高亮行,不插入空格|v_gq| gq 2 排版高亮行|v_gv| gv 交换现在和以前的高亮区域|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 扩展高亮区域,使包含 "内含 WORD"|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|v_o| o 移动光标到区域的另一侧|v_r| r 2 删除高亮区域,并开始插入|v_s| s 2 删除高亮区域,并开始插入|v_u| u 2 使得高亮区域全变小写|v_v| v 使得可视模式面向字符,或者退出可视模式|v_x| x 2 删除高亮区域|v_y| y 抽出高亮区域|v_~| ~ 2 改变高亮区域的大小写
4. 命令行编辑 *ex-edit-index*
使用 ':'、'!'、'/' 或 '?' 命令进入命令行编辑。输入普通字符会在当前光标位置插入该字符。下面的 "补全" 指上下文相关的补全。如果可能,会补全文件名、标签、命令等。标签 字符 命令行编辑模式下的动作
CTRL-@
不用|c_CTRL-A| CTRL-A
使用光标前面的模式进行补全,并插入所有的匹配|c_CTRL-B| CTRL-B
光标移动到命令行开始的地方|c_CTRL-C| CTRL-C
等同于 <Esc>
|c_CTRL-D| CTRL-D
列出光标前面模式的所有补全|c_CTRL-E| CTRL-E
光标移动到命令行结束的地方|'cedit'| CTRL-F
'cedit' 的缺省值: 打开命令行窗口;否则不用 CTRL-G
不用|c_<BS>| <BS>
删除光标前面的字符|c_digraph| {char1}
<BS>
{char2}
'digraph' 打开时,输入二合字母|c_CTRL-H| CTRL-H
等同于 <BS>
|c_<Tab>| <Tab>
如果 'wildchar' 是 <Tab>
: 补全光标前面的模式|c_<S-Tab>| <S-Tab>
等同于 CTRL-P
|c_wildchar| 'wildchar' 补全光标前面的模式 (缺省: <Tab>
)|c_CTRL-I| CTRL-I
等同于 <Tab>
|c_<NL>| <NL>
等同于 <CR>
|c_CTRL-J| CTRL-J
等同于 <CR>
|c_CTRL-K| CTRL-K
{char1}
{char2}
输入二合字母|c_CTRL-L| CTRL-L
补全光标前的模式,并插入最长的公共子串|c_<CR>| <CR>
执行输入的命令|c_<CR>| CTRL-M
等同于 <CR>
|c_CTRL-N| CTRL-N
使用 'wildchar' 并有多个匹配: 转到下一个匹配, 不然: 等同于 <Down>
CTRL-O
不同|c_CTRL-P| CTRL-P
使用 'wildchar' 并有多个匹配: 转到上一个匹配, 不然: 等同于 <Up>
|c_CTRL-Q| CTRL-Q
等同于 CTRL-V
,除非用于终端控制流|c_CTRL-R| CTRL-R
{0-9a-z"%#*:= CTRL-F
CTRL-P
CTRL-W
CTRL-A
} 插入寄存器的内容或特殊对象到光标所在的地方,如 同直接输入那样|c_CTRL-R_CTRL-R| CTRL-R
CTRL-R
{0-9a-z"%#*:= CTRL-F
CTRL-P
CTRL-W
CTRL-A
} 按本义插入寄存器的内容或特殊对象到光标所在的地 方 CTRL-S
(用于终端控制流) CTRL-T
不用|c_CTRL-U| CTRL-U
删除所有字符|c_CTRL-V| CTRL-V
按本义插入下一个非数字字符,或者插入其后三位数 字所代表的单个字节。|c_CTRL-W| CTRL-W
删除光标前面的单词 CTRL-X
不用 (保留作补全用) CTRL-Y
复制 (抽出) 无模式的选择 CTRL-Z
不用 (保留作暂停用)|c_<Esc>| <Esc>
放弃命令行,不执行|c_<Esc>| CTRL-[
等同于 <Esc>
|c_CTRL-\_CTRL-N| CTRL-\
CTRL-N
转到普通模式,放弃命令行|c_CTRL-\_CTRL-G| CTRL-\
CTRL-G
转到 'insertmode' 指定的模式,放弃命令行 CTRL-\
a - d 保留给扩展用|c_CTRL-\_e| CTRL-\
e {expr}
以 {expr}
的结果替换命令行 CTRL-\
f - z 保留给扩展用 CTRL-\
其它 不用|c_CTRL-]| CTRL-]
激活缩写|c_CTRL-^| CTRL-^
切换 |:lmap| 映射的使用|c_CTRL-_| CTRL-_
'allowrevins' 打开时: 改变语言 (希伯来,波斯)|c_<Del>| <Del>
删除光标所在的字符|c_<Left>| <Left>
光标左移|c_<S-Left>| <S-Left>
光标左移一个单词|c_<C-Left>| <C-Left>
光标左移一个单词|c_<Right>| <Right>
光标右移|c_<S-Right>| <S-Right>
光标右移一个单词|c_<C-Right>| <C-Right>
光标右移一个单词|c_<Up>| <Up>
从历史中调入匹配光标前模式的前一个命令行|c_<S-Up>| <S-Up>
从历史中调入前一个命令行|c_<Down>| <Down>
从历史中调入匹配光标前模式的后一个命令行|c_<S-Down>| <S-Down>
从历史中调入后一个命令行|c_<Home>| <Home>
光标移动到命令行开始的地方|c_<End>| <End>
光标移动到命令行结束的地方|c_<PageDown>| <PageDown>
等同于 <S-Down>
|c_<PageUp>| <PageUp>
等同于 <S-Up>
|c_<Insert>| <Insert>
切换插入/替换模式|c_<LeftMouse>| <LeftMouse>
光标移动到鼠标点击的地方亚瑟王,你找到 (圣杯) 了! *holy-grail*
5. EX 命令 *ex-cmd-index* *:index*
这里是一个简短但完整的 ":" 命令的列表。这里不讨论参数。命令可选的部分用 [] 括起。命令按照名字非可选部分排序。标签 字符 动作
|:!| :! 过滤行,或可通过外部命令执行之|:!!| :!! 重复上次的 ":!" 命令|:#| :# 等同于 ":number"|:&| :& 重复上次的 ":substitute"|:star| :* 执行寄存器的内容|:<| :< 将行左移一个 'shiftwidth'|:=| := 显示光标所在的行号|:>| :> 将行右移一个 'shiftwidth'|:@| :@ 执行寄存器的内容|:@@| :@@ 重复上次的 ":@"|:Next| :N[ext] 转到参数列表的上一个文件|:Print| :P[rint] 显示行|:X| :X 请求加密密钥|:append| :a[ppend] 附加文本|:abbreviate| :ab[breviate] 输入缩写|:abclear| :abc[lear] 删除所有的缩写|:aboveleft| :abo[veleft] 使得分割的窗口出现在左侧或者上方|:all| :al[l] 为参数列表的每个文件打开一个窗口|:amenu| :am[enu] 为所有模式输入菜单项|:anoremenu| :an[oremenu] 为所有模式输入菜单项,不会被重新映射|:args| :ar[gs] 显示参数列表|:argadd| :arga[dd] 增加项目到参数列表中|:argdelete| :argd[elete] 从参数列表中删除项目|:argedit| :arge[dit] 增加项目到参数列表中并编辑之|:argdo| :argdo 在参数列表上的所有项目上执行一个命令|:argglobal| :argg[lobal] 定义全局参数列表|:arglocal| :argl[ocal] 定义本地参数列表|:argument| :argu[ment] 转到参数列表一个指定的文件|:ascii| :as[cii] 显示光标所在的字符的 ascii 值|:autocmd| :au[tocmd] 输入或者显示自动命令|:augroup| :aug[roup] 选择要用的自动命令组|:aunmenu| :aun[menu] 删除所有模式下的菜单|:buffer| :b[uffer] 转到缓冲区列表里的特定缓冲区|:bNext| :bN[ext] 转到缓冲区列表里的上一个缓冲区|:ball| :ba[ll] 为缓冲区列表里的每个缓冲区打开一个窗口|:badd| :bad[d] 增加缓冲区到缓冲区列表|:bdelete| :bd[elete] 从缓冲区列表删除缓冲区|:behave| :be[have] 设置鼠标和选择行为|:belowright| :bel[owright] 使得分割的窗口出现在右侧或者下方|:bfirst| :bf[irst] 转到缓冲区列表里的第一个缓冲区|:blast| :bl[ast] 转到缓冲区列表里的最后一个缓冲区|:bmodified| :bm[odified] 转到缓冲区列表里的下一个修改过的缓冲区|:bnext| :bn[ext] 转到缓冲区列表里的下一个缓冲区|:botright| :bo[tright] 使得分割的窗口出现在最右侧或者下方|:bprevious| :bp[revious] 转到缓冲区列表里的上一个缓冲区|:brewind| :br[ewind] 转到缓冲区列表里的第一个缓冲区|:break| :brea[k] 跳出 while 循环|:breakadd| :breaka[dd] 增加调试器断点|:breakdel| :breakd[el] 删除调试器断点|:breaklist| :breakl[ist] 列出调试器断点|:browse| :bro[wse] 使用文件选择对话框|:bufdo| :bufdo 为所有列表内缓冲区执行命令|:buffers| :buffers 列出缓冲区列表里的所有文件|:bunload| :bun[load] 卸载指定的缓冲区|:bwipeout| :bw[ipeout] 真正删除一个缓冲区|:change| :c[hange] 替换一行或若干行|:cNext| :cN[ext] 跳转到上一个错误|:cNfile| :cNf[ile] 跳转到前一个文件的最后一个错误|:cabbrev| :ca[bbrev] 类似于 ":abbreviate",但用于命令行模式|:cabclear| :cabc[lear] 清除所有缩写,用于命令行模式|:caddbuffer| :caddb[uffer] 通过缓冲区补充错误|:caddexpr| :cad[dexpr] 通过表达式补充错误|:caddfile| :caddf[ile] 加入错误信息到当前 quickfix 列表|:call| :cal[l] 调用函数|:catch| :cat[ch] :try 命令的一部分|:cbuffer| :cb[uffer] 分析错误信息并跳转到第一个|:cc| :cc 跳转到特定的错误|:cclose| :ccl[ose] 关闭 quickfix 窗口|:cd| :cd 改变目录|:center| :ce[nter] 排版行,使其居中对齐|:cexpr| :cex[pr] 从表达式里读取错误并跳转到第一个|:cfile| :cf[ile] 读入含有错误信息的文件,并跳转到第一个|:cfirst| :cfir[st] 跳转到指定的错误上,缺省为第一个|:cgetbuffer| :cgetb[uffer] 从缓冲区里得到错误|:cgetexpr| :cgete[xpr] 从表达实里得到错误|:cgetfile| :cg[etfile] 读入含有错误信息的文件|:changes| :cha[nges] 显示修改的列表|:chdir| :chd[ir] 改变当前目录|:checkpath| :che[ckpath] 列出包含的头文件|:checktime| :checkt[ime] 检查载入缓冲区的时间标签|:clist| :cl[ist] 列出所有错误|:clast| :cla[st] 跳转到指定的错误上,缺省为最后一个|:close| :clo[se] 改变当前窗口|:cmap| :cm[ap] 类似于 ":map",但用于命令行模式|:cmapclear| :cmapc[lear] 清除所有映射,用于命令行模式|:cmenu| :cme[nu] 为命令行模式增加菜单|:cnext| :cn[ext] 跳转到下一个错误|:cnewer| :cnew[er] 跳转到下一个较新的错误列表|:cnfile| :cnf[ile] 跳转到下一个文件的第一个错误|:cnoremap| :cno[remap] 类似于 ":noremap",但用于命令行模式|:cnoreabbrev| :cnorea[bbrev] 类似于 ":noreabbrev",但用于命令行模式|:cnoremenu| :cnoreme[nu] 类似于 ":noremenu",但用于命令行模式|:copy| :co[py] 复制行|:colder| :col[der] 跳转到上一个较老的错误列表|:colorscheme| :colo[rscheme] 载入特定的色彩方案|:command| :com[mand] 建立用户自定的命令|:comclear| :comc[lear] 清除所有用户自定的命令|:compiler| :comp[iler] 为特定编译器设定选项|:continue| :con[tinue] 回到 :while 开始处|:confirm| :conf[irm] 需要确认时,提示用户|:copen| :cope[n] 打开 quickfix 窗口|:cprevious| :cp[revious] 跳转到上一个错误|:cpfile| :cpf[ile] 跳转到上一个文件的最后一个错误|:cquit| :cq[uit] 退出 Vim,带错误码|:crewind| :cr[ewind] 跳到指定的错误,缺省为第一个|:cscope| :cs[cope] 执行 cscope 命令|:cstag| :cst[ag] 使用 cscope 来跳转到标签上|:cunmap| :cu[nmap] 类似于 ":unmap",但用于命令行模式|:cunabbrev| :cuna[bbrev] 类似于 ":unabbrev",但用于命令行模式|:cunmenu| :cunme[nu] 删除命令行的菜单|:cwindow| :cw[indow] 打开或者关闭 quickfix 窗口|:delete| :d[elete] 删除行|:delmarks| :delm[arks] 删除位置标记|:debug| :deb[ug] 在调试模式执行命令|:debuggreedy| :debugg[reedy] 从正常的输入那里读取调试模式命令|:delcommand| :delc[ommand] 删除用户自定的命令|:delfunction| :delf[unction] 删除用户函数|:diffupdate| :dif[fupdate] 更新 'diff' 缓冲区|:diffget| :diffg[et] 删除当前缓冲区的所有差异|:diffoff| :diffo[ff] 关闭 diff 模式|:diffpatch| :diffp[atch] 应用补丁然后显示差异|:diffput| :diffpu[t] 删除另外一个缓冲区的差异|:diffsplit| :diffs[plit] 显示和另外一个文件的差异|:diffthis| :diffthis 使得当前窗口成为 diff 窗口|:digraphs| :dig[raphs] 显示或者输入二合字母|:display| :di[splay] 显示寄存器|:djump| :dj[ump] 跳转到 #define|:dlist| :dl[ist] 列出所有的 #define|:doautocmd| :do[autocmd] 在当前缓冲区应用自动命令|:doautoall| :doautoa[ll] 在所有载入的缓冲区上应用自动命令|:drop| :dr[op] 跳到编辑某文件的窗口,不成功则在当前窗口编辑之|:dsearch| :ds[earch] 列出一个 #define|:dsplit| :dsp[lit] 分割窗口并跳转到 #define|:edit| :e[dit] 编辑文件|:earlier| :ea[rlier] 回到旧的改变,撤销|:echo| :ec[ho] 回显表达式结果|:echoerr| :echoe[rr] 类似于 :echo,如同错误一样显示和使用历史|:echohl| :echoh[l] 为 echo 等命令设置高亮|:echomsg| :echom[sg] 等同于 :echo,在历史里放置消息|:echon| :echon 等同于 :echo,但不留 <EOL>
|:else| :el[se] :if 命令的一部分|:elseif| :elsei[f] :if 命令的一部分|:emenu| :em[enu] 按名字执行菜单|:endif| :en[dif] 结束最近的 :if|:endfor| :endfo[r] 结束最近的 :for|:endfunction| :endf[unction] 结束用户函数|:endtry| :endt[ry] 结束最近的 :try|:endwhile| :endw[hile] 结束最近的 :while|:enew| :ene[w] 编辑新的无名缓冲区|:ex| :ex 等同于 ":edit"|:execute| :exe[cute] 执行表达式的结果产生的字符串|:exit| :exi[t] 等同于 ":xit"|:exusage| :exu[sage] Ex 命令总览|:file| :f[ile] 显示或者设置当前文件名|:files| :files 列出缓冲区列表的所有文件|:filetype| :filet[ype] 切换文件类型检测的打开/关闭|:find| :fin[d] 在 'path' 里找寻文件并编辑之|:finally| :fina[lly] :try 命令的一部分|:finish| :fini[sh] 退出 Vim 脚本的执行|:first| :fir[st] 转到参数列表的第一个文件|:fixdel| :fix[del] 设置 <Del>
的键码|:fold| :fo[ld] 创建折叠|:foldclose| :foldc[lose] 关闭折叠|:folddoopen| :foldd[oopen] 对所有不在关闭折叠的行执行命令|:folddoclosed| :folddoc[losed] 对所有在关闭折叠的行执行命令|:foldopen| :foldo[pen] 打开折叠|:for| :for for 循环|:function| :fu[nction] 定义用户函数|:global| :g[lobal] 对匹配的行执行命令|:goto| :go[to] 转到缓冲区某字节处|:grep| :gr[ep] 执行 'grepprg' 并转到第一个匹配处|:grepadd| :grepa[dd] 类似 :grep,但附加到当前列表后|:gui| :gu[i] 启动 GUI|:gvim| :gv[im] 启动 GUI|:hardcopy| :ha[rdcopy] 发送文本到打印机|:help| :h[elp] 打开帮助窗口|:helpfind| :helpf[ind] 打开显示帮助窗口的对话框|:helpgrep| :helpg[rep] 类似于 ":grep",但搜索帮助文件|:helptags| :helpt[ags] 为一个目录产生帮助标签|:highlight| :hi[ghlight] 指定高亮方法|:hide| :hid[e] 为一个命令隐藏当前缓冲区|:history| :his[tory] 显示历史列表|:insert| :i[nsert] 插入文本|:iabbrev| :ia[bbrev] 类似于 ":abbrev",但用于插入模式|:iabclear| :iabc[lear] 类似于 ":abclear",但用于插入模式|:if| :if 条件满足时执行命令|:ijump| :ij[ump] 跳转到标识符的定义|:ilist| :il[ist] 列出匹配标识符的行|:imap| :im[ap] 类似于 ":map",但用于插入模式|:imapclear| :imapc[lear] 类似于 ":map",但用于插入模式|:imenu| :ime[nu] 为插入模式增加菜单|:inoremap| :ino[remap] 类似于 ":noremap",但用于插入模式|:inoreabbrev| :inorea[bbrev] 类似于 ":noreabbrev",但用于插入模式|:inoremenu| :inoreme[nu] 类似于 ":noremenu",但用于插入模式|:intro| :int[ro] 显示介绍文字|:isearch| :is[earch] 列出匹配标识符的一行|:isplit| :isp[lit] 分割窗口,并跳转到标识符的定义|:iunmap| :iu[nmap] 类似于 ":unmap",但用于插入模式|:iunabbrev| :iuna[bbrev] 类似于 ":unabbrev",但用于插入模式|:iunmenu| :iunme[nu] 删除插入模式的菜单|:join| :j[oin] 连接行|:jumps| :ju[mps] 显示跳转表|:k| :k 设置位置标记|:keepalt| :keepa[lt] 跟随的命令保持轮换文件不变|:keepmarks| :kee[pmarks] 跟随的命令保持位置标记不变|:keepjumps| :keepj[jumps] 跟随的命令保持跳转表和位置标记不变|:lNext| :lN[ext] 转到位置列表的上一个位置|:lNfile| :lNf[ile] 转到上个文件的最近一个位置|:list| :l[ist] 显示行|:laddexpr| :lad[dexpr] 通过表达式补充位置|:laddbuffer| :laddb[uffer] 通过缓冲区补充位置|:laddfile| :laddf[ile] 把位置加到当前位置列表里|:last| :la[st] 转到参数列表的最后一个文件|:language| :lan[guage] 设置语言 (locale)|:later| :lat[er] 转到新的改变,重做|:lbuffer| :lb[uffer] 分析位置并跳转到第一个位置|:lcd| :lc[d] 改变本地的目录|:lchdir| :lch[dir] 改变本地的目录|:lclose| :lcl[ose] 关闭位置窗口|:lcscope| :lcs[cope] 类似于 ":cscope",但使用位置列表|:left| :le[ft] 左对齐行|:leftabove| :lefta[bove] 使得分割的窗口出现在左侧或者上方|:let| :let 给变量或选项赋值|:lexpr| :lex[pr] 从表达式里读取位置并跳转到第一个|:lfile| :lf[ile] 从文件里读取位置并跳转到第一个|:lfirst| :lfir[st] 转到指定的位置上,缺省第一个|:lgetbuffer| :lgetb[uffer] 从缓冲区里读取位置|:lgetexpr| :lgete[xpr] 从表达式里读取位置|:lgetfile| :lg[etfile] 从文件里读取位置|:lgrep| :lgr[ep] 运行 'grepprg' 并跳转到第一个匹配|:lgrepadd| :lgrepa[dd] 类似于 :grep,但附加到当前列表上|:lhelpgrep| :lh[elpgrep] 类似于 ":helpgrep",但使用位置列表|:ll| :ll 转到指定位置|:llast| :lla[st] 转到指定位置,缺省最后一个|:llist| :lli[st] 列出所有的位置|:lmake| :lmak[e] 执行外部命令 'makeprg' 并分析错误信息|:lmap| :lm[ap] 类似于 ":map!",但包括 Lang-Arg 模式|:lmapclear| :lmapc[lear] 类似于 ":mapclear!",但包括 Lang-Arg 模式|:lnext| :lne[xt] 跳到下一个位置|:lnewer| :lnew[er] 跳到较新的位置列表|:lnfile| :lnf[ile] 跳到下一个文件的第一个位置|:lnoremap| :ln[oremap] 类似于 ":noremap!",但包括 Lang-Arg 模式|:loadkeymap| :loadk[eymap] 载入后面的键盘映射表,直到 EOF 为止|:loadview| :lo[adview] 从文件里为当前窗口载入视图|:lockmarks| :loc[kmarks] 跟随的命令保持位置标记不变|:lockvar| :lockv[ar] 给变量加锁|:lolder| :lol[der] 转到较旧的位置列表|:lopen| :lope[n] 打开位置窗口|:lprevious| :lp[revious] 转到前一个位置|:lpfile| :lpf[ile] 转到上一个文件的最近的位置|:lrewind| :lr[ewind] 转到指定的位置,缺省第一个|:ls| :ls 列出所有的缓冲区|:ltag| :lt[ag] 跳转到标签,并把匹配的标签加到位置列表上|:lunmap| :lu[nmap] 类似于 ":unmap!",但包括 Lang-Arg 模式|:lua| :lua 执行 |Lua| 命令|:luado| :luad[o] 对每行都执行 Lua 命令|:luafile| :luaf[ile] 执行 |Lua| 脚本文件|:lvimgrep| :lv[imgrep] 在若干文件里搜索模式|:lvimgrepadd| :lvimgrepa[dd] 类似于 :vimgrep,但附加到当前列表|:lwindow| :lw[indow] 打开或关闭位置窗口|:move| :m[ove] 移动行|:mark| :ma[rk] 设置位置标记|:make| :mak[e] 执行外部命令 'makeprg' 并分析其错误信息|:map| :map 显示或者输入映射|:mapclear| :mapc[lear] 清除所有普通和可视模式的映射|:marks| :marks 列出所有的位置标记|:match| :mat[ch] 定义要高亮显示的匹配的模式|:menu| :me[nu] 输入新的菜单项|:menutranslate| :menut[ranslate] 增加菜单翻译项目|:messages| :mes[sages] 显示以前显示的消息|:mkexrc| :mk[exrc] 写入当前映射和设置到文件|:mksession| :mks[ession] 写入会话信息到文件|:mkspell| :mksp[ell] 生成 .spl 拼写文件|:mkvimrc| :mkv[imrc] 写入当前映射和设置到文件|:mkview| :mkvie[w] 写入当前窗口的视图到文件|:mode| :mod[e] 显示或者改变屏幕模式|:mzscheme| :mz[scheme] 执行 MzScheme 命令|:mzfile| :mzf[ile] 执行 MzScheme 脚本文件|:nbclose| :nbc[lose] 关闭当前 Netbeans 会话|:nbkey| :nb[key] 传递一个键给 Netbeans|:nbstart| :nbs[art] 打开一个新的 Netbeans 会话|:next| :n[ext] 跳转到参数列表的下一个文件|:new| :new 创建一个新的空白窗口|:nmap| :nm[ap] 类似于 ":map",但使用普通模式|:nmapclear| :nmapc[lear] 清除普通模式的所有映射|:nmenu| :nme[nu] 为普通模式增加菜单|:nnoremap| :nn[oremap] 类似于 ":noremap",但使用普通模式|:nnoremenu| :nnoreme[nu] 类似于 ":noremenu",但使用普通模式|:noautocmd| :noa[utocmd] 跟随的命令不激活自动命令|:noremap| :no[remap] 输入不会被重新映射的映射|:nohlsearch| :noh[lsearch] 暂停 'hlsearch' 高亮|:noreabbrev| :norea[bbrev] 输入不会被重新映射的缩写|:noremenu| :noreme[nu] 输入不会被重新映射的菜单|:normal| :norm[al] 执行普通模式的命令|:number| :nu[mber] 显示文本行时给出行号|:nunmap| :nun[map] 类似于 ":unmap",但使用普通模式|:nunmenu| :nunme[nu] 删除普通模式的菜单|:oldfiles| :ol[dfiles] 列出 viminfo 文件中包含位置标记的文件|:open| :o[pen] 启动打开模式 (没有实现)|:omap| :om[ap] 类似于 ":map",但使用操作符等待模式|:omapclear| :omapc[lear] 删除操作符等待模式的所有映射|:omenu| :ome[nu] 为操作符等待模式增加菜单|:only| :on[ly] 关闭当前窗口,除了当前的窗口以外|:onoremap| :ono[remap] 类似于 ":noremap",但使用操作符等待模式|:onoremenu| :onoreme[nu] 类似于 ":noremenu",但使用操作符等待模式|:options| :opt[ions] 打开选项窗口|:ounmap| :ou[nmap] 类似于 ":unmap",但使用操作符等待模式|:ounmenu| :ounme[nu] 删除操作符等待模式的菜单|:ownsyntax| :ow[nsyntax] 为本窗口设置新的局部语法高亮|:print| :p[rint] 显示行|:profdel| :profd[el] 停止剖视 (profile) 函数或脚本|:profile| :prof[ile] 剖视 (profile) 函数或脚本|:promptfind| :pro[mptfind] 打开 GUI 对话框进行搜索|:promptrepl| :promptr[epl] 打开 GUI 对话框进行搜索/替代|:pclose| :pc[lose] 关闭预览窗口|:pedit| :ped[it] 在预览窗口编辑文件|:perl| :pe[rl] 执行 Perl 命令|:perldo| :perld[o] 对每行都执行 Perl 命令|:pop| :po[p] 跳转到标签栈较旧的项目上|:popup| :pop[up] 根据名字弹出菜单|:ppop| :pp[op] 在预览窗口 ":pop"|:preserve| :pre[serve] 写入所有文本到交换文件|:previous| :prev[ious] 跳转到参数列表里的上一个文件|:psearch| :ps[earch] 类似于 ":ijump",但在预览窗口显示匹配|:ptag| :pt[ag] 在预览窗口显示标签|:ptNext| :ptN[ext] 在预览窗口 |:tNext||:ptfirst| :ptf[irst] 在预览窗口 |:trewind||:ptjump| :ptj[ump] 在预览窗口 |:tjump| 和显示标签|:ptlast| :ptl[ast] 在预览窗口 |:tlast||:ptnext| :ptn[ext] 在预览窗口 |:tnext||:ptprevious| :ptp[revious] 在预览窗口 |:tprevious||:ptrewind| :ptr[ewind] 在预览窗口 |:trewind||:ptselect| :pts[elect] 在预览窗口 |:tselect| 和显示标签|:put| :pu[t] 插入寄存器的内容到文本|:pwd| :pw[d] 显示当前目录|:py3| :py3 执行 Python 3 命令|:python3| :python3 同 :py3|:py3file| :py3f[ile] 执行 Python 3 脚本文件|:python| :py[thon] 执行 Python 命令|:pyfile| :pyf[ile] 执行 Python 脚本文件|:quit| :q[uit] 退出当前窗口 (如果只有一窗口,则退出 Vim)|:quitall| :quita[ll] 退出 Vim|:qall| :qa[ll] 退出 Vim|:read| :r[ead] 读入文件到文本|:recover| :rec[over] 从交换文件里恢复文件|:redo| :red[o] 重做一次撤销的改变|:redir| :redi[r] 重定向消息到文件或者寄存器|:redraw| :redr[aw] 强迫显示的重画|:redrawstatus| :redraws[tatus] 强迫状态行的重画|:registers| :reg[isters] 显示寄存器的内容|:resize| :res[ize] 改变当前窗口的高度|:retab| :ret[ab] 改变制表大小|:return| :retu[rn] 从用户函数返回|:rewind| :rew[ind] 转到参数列表的第一个文件|:right| :ri[ght] 右对齐文本|:rightbelow| :rightb[elow] 使得分割窗口出现在右侧或者下方|:ruby| :rub[y] 执行 Ruby 命令|:rubydo| :rubyd[o] 对每行执行 Ruby 命令|:rubyfile| :rubyf[ile] 执行 Ruby 脚本文件|:rundo| :rund[o] 从文件里读入撤销信息|:runtime| :ru[ntime] 执行 'runtimepath' 里的 vim 脚本|:rviminfo| :rv[iminfo] 读取 viminfo 文件|:substitute| :s[ubstitute] 查找和替代文本|:sNext| :sN[ext] 分割窗口并转到参数列表的前一个文件|:sandbox| :san[dbox] 在沙盘里执行命令|:sargument| :sa[rgument] 分割窗口并转到参数列表的某一个文件|:sall| :sal[l] 为参数列表的每个文件打开窗口|:saveas| :sav[eas] 用别的名字保存文件。|:sbuffer| :sb[uffer] 分割窗口并转到缓冲区列表的某一个文件|:sbNext| :sbN[ext] 分割窗口并转到缓冲区列表的前一个文件|:sball| :sba[ll] 为缓冲区列表的每个文件打开窗口|:sbfirst| :sbf[irst] 分割窗口并转到缓冲区列表的第一个文件|:sblast| :sbl[ast] 分割窗口并转到缓冲区列表的最后一个文件|:sbmodified| :sbm[odified] 分割窗口并转到缓冲区列表的修改过的文件|:sbnext| :sbn[ext] 分割窗口并转到缓冲区列表的后一个文件|:sbprevious| :sbp[revious] 分割窗口并转到缓冲区列表的前一个文件|:sbrewind| :sbr[ewind] 分割窗口并转到缓冲区列表的第一个文件|:scriptnames| :scrip[tnames] 列出所有执行过的 Vim 脚本的名字|:scriptencoding| :scripte[ncoding] 执行过的 Vim 脚本使用的编码|:scscope| :scs[cope] 分割窗口并执行 cscope 命令|:set| :se[t] 显示或设置选项|:setfiletype| :setf[iletype] 设置 'filetype',除非已经设置过|:setglobal| :setg[lobal] 显示或者设置全局选项值|:setlocal| :setl[ocal] 显示或者设置本地选项值|:sfind| :sf[ind] 分割当前窗口并编辑 'path' 的文件|:sfirst| :sfir[st] 分割窗口并转到参数列表的第一个文件|:shell| :sh[ell] 退到外壳程序|:simalt| :sim[alt] Win32 GUI: 模拟 Windows ALT 键|:sign| :sig[n] 操作标号|:silent| :sil[ent] 安静地运行命令|:sleep| :sl[eep] 几秒内不作任何事|:slast| :sla[st] 分割窗口并转到参数列表的最后一个文件|:smagic| :sm[agic] 带 'magic' 的 :substitute|:smap| :sma[p] 类似于 ":map",但用于选择模式|:smapclear| :smapc[lear] 删除选择模式所有的映射|:smenu| :sme[nu] 增加选择模式菜单|:snext| :sn[ext] 分割窗口并转到参数列表的下一个文件|:sniff| :sni[ff] 发送请求到 sniff|:snomagic| :sno[magic] 带 'nomagic' 的 :substitute|:snoremap| :snor[emap] 类似于 ":noremap",但用于选择模式|:snoremenu| :snoreme[nu] 类似于 ":noremenu",但用于选择模式|:sort| :sor[t] 给行排序|:source| :so[urce] 从文件里读取 Vim 或 Ex 命令|:spelldump| :spelld[ump] 分割窗口并用正确的单词填充|:spellgood| :spe[llgood] 增加拼写的好词|:spellinfo| :spelli[nfo] 显示载入的拼写文件的信息|:spellrepall| :spellr[epall] 像上次 |z=| 那样,但替换所有的坏词|:spellundo| :spellu[ndo] 删除好词或坏词|:spellwrong| :spellw[rong] 增加拼写错误|:split| :sp[lit] 分割当前窗口|:sprevious| :spr[evious] 分割窗口并转到参数列表的前一个文件|:srewind| :sre[wind] 分割窗口并转到参数列表的第一个文件|:stop| :st[op] 暂停编辑器并退回外壳|:stag| :sta[g] 分割窗口并跳转到标签上|:startgreplace| :startg[replace] 开始虚拟替换模式|:startreplace| :startr[eplace] 开始替换模式|:startinsert| :star[tinsert] 开始插入模式|:stopinsert| :stopi[nsert] 退出插入模式|:stjump| :stj[ump] 执行 ":tjump" 并分割窗口|:stselect| :sts[elect] 执行 ":tselect" 并分割窗口|:sunhide| :sun[hide] 等同于 ":unhide"|:sunmap| :sunm[ap] 类似于 ":unmap",但用于选择模式|:sunmenu| :sunme[nu] 删除选择模式的菜单|:suspend| :sus[pend] 等同于 ":stop"|:sview| :sv[iew] 分割窗口并以只读模式编辑文件|:swapname| :sw[apname] 显示当前交换文件的名字|:syntax| :sy[ntax] 语法高亮|:syncbind| :sync[bind] 同步滚动绑定|:t| :t 等同于 ":copy"|:tNext| :tN[ext] 跳转到上一个匹配的标签|:tabNext| :tabN[ext] 跳到上一个标签页|:tabclose| :tabc[lose] 关闭当前标签页|:tabdo| :tabdo 为每个标签页执行命令|:tabedit| :tabe[dit] 在新标签页里编辑文件|:tabfind| :tabf[ind] 寻找 'path' 里的文件,在新标签页里编辑之|:tabfirst| :tabfir[st] 转到第一个标签页|:tablast| :tabl[ast] 转到最后一个标签页|:tabmove| :tabm[ove] 把标签页移到别的位置|:tabnew| :tabnew 在新标签页里编辑文件|:tabnext| :tabn[ext] 转到下一个标签页|:tabonly| :tabo[nly] 关闭所有除了当前标签页以外的所有标签页|:tabprevious| :tabp[revious] 转到前一个标签页|:tabrewind| :tabr[ewind] 转到第一个标签页|:tabs| :tabs 列出标签页以及里面包含的内容|:tab| :tab 打开新窗口时建立新的标签页|:tag| :ta[g] 跳转到标签上|:tags| :tags 显示标签栈的内容|:tcl| :tc[l] 执行 Tcl 命令|:tcldo| :tcld[o] 为每行执行 Tcl 命令|:tclfile| :tclf[ile] 执行 Tcl 脚本文件|:tearoff| :te[aroff] 撕下一个菜单|:tfirst| :tf[irst] 转到第一个匹配的标签|:throw| :th[row] 抛出例外|:tjump| :tj[ump] 类似于 ":tselect",只有一个匹配时直接跳转之|:tlast| :tl[ast] 跳转到最后一个匹配的标签|:tmenu| :tm[enu] 定义菜单的工具提示|:tnext| :tn[ext] 跳转到下一个匹配的标签|:topleft| :to[pleft] 使得分割的窗口出现在顶部或者最左端|:tprevious| :tp[revious] 跳转到上一个匹配的标签|:trewind| :tr[ewind] 跳转到第一个匹配的标签|:try| :try 执行命令,错误或者例外时终止|:tselect| :ts[elect] 列出匹配的标签并从中选择一个|:tunmenu| :tu[nmenu] 删除菜单的工具提示|:undo| :u[ndo] 撤销最近的改变|:undojoin| :undoj[oin] 将下一个改变和上一个撤销块合并|:undolist| :undol[ist] 列出撤销树的叶结点|:unabbreviate| :una[bbreviate] 删除缩写|:unhide| :unh[ide] 为缓冲区列表里每个载入的文件打开窗口|:unlet| :unl[et] 删除变量|:unlockvar| :unlo[ckvar] 给变量解锁|:unmap| :unm[ap] 删除映射|:unmenu| :unme[nu] 删除菜单|:unsilent| :uns[ilent] 非安静模式执行命令|:update| :up[date] 如果有修改,写回缓冲区|:vglobal| :v[global] 对不匹配的行,执行命令|:version| :ve[rsion] 显示版本号和其它信息|:verbose| :verb[ose] 执行命令,过程中设置 'verbose'|:vertical| :vert[ical] 使得跟随的命令垂直分割|:vimgrep| :vim[grep] 在若干文件里查找模式|:vimgrepadd| :vimgrepa[dd] 类似于 :vimgrep,但附加到当前列表|:visual| :vi[sual] 等同于 ":edit",但关掉 "Ex" 模式|:viusage| :viu[sage] 普通模式命令的总览|:view| :vie[w] 以只读方式编辑文件|:vmap| :vm[ap] 类似于 ":map",但使用可视+选择模式|:vmapclear| :vmapc[lear] 删除可视+选择模式所有的映射|:vmenu| :vme[nu] 为可视+选择模式增加菜单|:vnew| :vne[w] 建立新的空白窗口,垂直分割|:vnoremap| :vn[oremap] 类似于 ":noremap",但使用可视+选择模式|:vnoremenu| :vnoreme[nu] 类似于 ":noremenu",但使用可视+选择模式|:vsplit| :vs[plit] 垂直分割当前窗口|:vunmap| :vu[nmap] 类似于 ":unmap",但使用可视+选择模式|:vunmenu| :vunme[nu] 删除可视+选择模式的菜单|:windo| :windo 为每个窗口执行命令|:write| :w[rite] 写回文件|:wNext| :wN[ext] 写回文件,然后跳转到参数列表的前一个文件|:wall| :wa[ll] 写回所有 (改变的) 缓冲区|:while| :wh[ile] 只要条件满足,执行循环体|:winsize| :wi[nsize] 取得或者设置窗口大小 (已废弃)|:wincmd| :winc[md] 执行窗口 (CTRL-W
) 命令|:winpos| :winp[os] 取得或者设置窗口位置|:wnext| :wn[ext] 写回文件,然后跳转到参数列表的下一个文件|:wprevious| :wp[revious] 写回文件,然后跳转到参数列表的前一个文件|:wq| :wq 写回文件,然后退出窗口或者 Vim|:wqall| :wqa[ll] 写回所有 (改变的) 缓冲区然后退出 Vim|:wsverb| :ws[verb] 把动词通过 IPC 发送给 workshop|:wundo| :wu[ndo] 把撤销信息写入文件|:wviminfo| :wv[iminfo] 写入 viminfo 文件|:xit| :x[it] 如果缓冲区被改动,写入之。然后退出窗口或者 Vim|:xall| :xa[ll] 等同于 ":wqall"|:xmapclear| :xmapc[lear] 删除可视模式的所有映射|:xmap| :xm[ap] 类似于 ":map",但使用可视模式|:xmenu| :xme[nu] 增加可视模式的菜单|:xnoremap| :xn[oremap] 类似于 ":noremap",但使用可视模式|:xnoremenu| :xnoreme[nu] 类似于 ":noremenu",但使用可视模式|:xunmap| :xu[nmap] 类似于 ":unmap",但使用可视模式|:xunmenu| :xunme[nu] 删除可视模式的菜单|:yank| :y[ank] 抽出行到寄存器|:z| :z 显示一些行|:~| :~ 重复上次 ":substitute" vim:tw=78:ts=8:ft=help:norl: