INDEX

*index.txt*     For Vim version 6.4.  最近更新: 2006年2月


                  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' 打开时: 改变语言
                                (希伯来语,波斯语等) {only 只有在编译时加入
                                +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_<MouseDown>| <MouseDown>     向下滚动三行
|i_<S-MouseDown>| <S-MouseDown> 向下滚动完整一页
|i_<MouseUp>|   <MouseUp>       向上滚动三行
|i_<S-MouseUp>| <S-MouseUp>     向上滚动完整一页

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-P|       CTRL-X CTRL-P   上一个补全
|i_CTRL-X_CTRL-T|       CTRL-X CTRL-T   从同义词词典补全标识符
|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-]   补全标签
{only 只有在编译时加入 +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" 或 "0cc"
|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}            扩展命令,见下
|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' 开始的命令,见下
|{|             {               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  等同于在鼠标点击处 "P"
|<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"
|<MouseDown>|   <MouseDown>        向下滚动三行
|<S-MouseDown>| <S-MouseDown>      向下滚动完整一屏
|<MouseUp>|     <MouseUp>          向上滚动三行
|<S-MouseUp>|   <S-MouseUp>        向上滚动完整一屏


2.1 文本对象 *objects*

他们可以用在操作符之后,或者在可视模式里选择一个对象。 标签 命令 普通模式下的动作

|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_ab|          ab                 "一个块" 从 "[(" 到 "])" (带上括号)
|v_ap|          ap                 "一个段落" (带上空白)
|v_as|          as                 "一个句子" (带上空白)
|v_aw|          aw                 "一个单词" (带上空白)
|v_a{|          a{                 等同于 aB
|v_a}|          a}                 等同于 aB
|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_ib|          ib                 "内含块" 从 "[(" 到 "])"
|v_ip|          ip                 "内含段落"
|v_is|          is                 "内含句子"
|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_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_g_CTRL-]| CTRL-W g CTRL-]  分割窗口并在光标所在的标签上执行 |:tjump|
|CTRL-W_g]|     CTRL-W g ]         分割窗口并在光标所在的标签上执行 |:tselect|
|CTRL-W_g}|     CTRL-W g }         在光标所在的标签上执行 |:ptjump|
|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                 显示第一个在当前文件和它包含的头文件里匹配
                                   光标所在单词的位置,从当前文件的头部开始
|[p|            [p              2  类似于 "P",但调整当前行的缩进
|[m|            [m              1  光标后退 N 个成员函数的开始
|[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                 显示第一个在当前文件和它包含的头文件里匹配
                                   光标所在单词的位置,从光标位置开始
|]p|            ]p              2  类似于 "p",但调整当前行的缩进
|]m|            ]m              1  光标前进 N 个成员函数的结尾
|]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?              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 次,光标留
                                   在插入文本之后
|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                 开始编辑当前光标所在的名字对应的文件
|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 文本并保持光标位置
|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.                 重画,光标移动到窗口的中间行的第一个非空白
                                   字符
|zA|            zA                 递归打开一个关闭的折叠或关闭一个打开的折叠
|zC|            zC                 递归关闭折叠
|zD|            zD                 递归删除折叠
|zE|            zE                 除去所有折叠
|zF|            zF                 为 N 行建立折叠
|zM|            zM                 设置 'foldlevel' 为零
|zN|            zN                 置位 'foldenable'
|zO|            zO                 递归打开折叠
|zR|            zR                 设置 'foldlevel' 为最大折叠级别
|zX|            zX                 重新应用 'foldlevel'
|z^|            z^                 光标移动到第 N 行 (缺省为窗口之前的一行),
                                   其它同 "z-"
|za|            za                 打开关闭的折叠,或关闭打开的折叠
|zb|            zb                 重画,光标在窗口底行
|zc|            zc                 关闭折叠
|zd|            zd                 删除折叠
|ze|            ze                 'wrap' 关闭时,水平滚动使得光标定位到屏幕的
                                   尾部 (最右侧)
|zf|            zf{motion}         为 Nmove 文本建立折叠
|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                 重画,光标移动到窗口的顶部
|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-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_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_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_ab|          ab                 扩展高亮区域,使包含一个 () 块
|v_ap|          ap                 扩展高亮区域,使包含一个段落
|v_as|          as                 扩展高亮区域,使包含一个句子
|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_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_ib|          ib                 扩展高亮区域,使包含内含 () 块
|v_ip|          ip                 扩展高亮区域,使包含内含段落
|v_is|          is                 扩展高亮区域,使包含内含句子
|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-\ others 不用 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] 清除所有缩写,用于命令行模式 |:call| :cal[l] 调用函数 |:catch| :cat[ch] :try 命令的一部分 |:cc| :cc 跳转到特定的错误 |:cclose| :ccl[ose] 关闭 quickfix 窗口 |:cd| :cd 改变目录 |:center| :ce[nter] 排版行,使其居中对齐 |:cfile| :cf[ile] 读入含有错误信息的文件,并跳转到第一个 |:cfirst| :cfir[st] 跳转到指定的错误上,缺省为第一个 |: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] 删除行 |:debug| :deb[ug] 在调试模式执行命令 |:debuggreedy| :debugg[reedy] 从正常的输入那里读取调试模式命令 |:delcommand| :delc[ommand] 删除用户自定的命令 |:delfunction| :delf[unction] 删除用户函数 |:diffupdate| :dif[fupdate] 更新 'diff' 缓冲区 |:diffget| :diffg[et] 删除当前缓冲区的所有差异 |: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] 编辑文件 |: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 |:endfunction| :endf[unction] 结束用户函数 |:endtry| :endt[ry] 结束最近的 :try |:endwhile| :endw[hile] 结束最近的 :while |:enew| :ene[w] 编辑新的无名缓冲区 |:ex| :ex 等同于 ":edit" |:execute| :exe[cute] 执行表达式的结果产生的字符串 |:exit| :exi[t] 等同于 ":xit" |: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] 打开折叠 |: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 设置位置标记 |:keepmarks| :kee[pmarks] 跟随的命令保持位置标记不变 |:keepjumps| :keepj[jumps] 跟随的命令保持跳转表和位置标记不变 |:list| :l[ist] 显示行 |:last| :la[st] 转到参数列表的最后一个文件 |:language| :lan[guage] 设置语言 (locale) |:lcd| :lc[d] 改变本地的目录 |:lchdir| :lch[dir] 改变本地的目录 |:left| :le[ft] 左对齐行 |:leftabove| :lefta[bove] 使得分割的窗口出现在左侧或者上方 |:let| :let 给变量或选项赋值 |:lmap| :lm[ap] 类似于 ":map!",但包括 Lang-Arg 模式 |:lmapclear| :lmapc[lear] 类似于 ":mapclear!",但包括 Lang-Arg 模式 |:lnoremap| :ln[oremap] 类似于 ":noremap!",但包括 Lang-Arg 模式 |:loadkeymap| :loadk[eymap] 载入后面的键盘映射表,直到 EOF 为止 |:loadview| :lo[adview] 从文件里为当前窗口载入视图 |:lockmarks| :loc[kmarks] 跟随的命令保持位置标记不变 |:ls| :ls 列出所有的缓冲区 |:lunmap| :lu[nmap] 类似于 ":unmap!",但包括 Lang-Arg 模式 |: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] 写入会话信息到文件 |:mkvimrc| :mkv[imrc] 写入当前映射和设置到文件 |:mkview| :mkvie[w] 写入当前窗口的视图到文件 |:mode| :mod[e] 显示或者改变屏幕模式 |:next| :n[ext] 跳转到参数列表的下一个文件 |:new| :new 创建一个新的空白窗口 |:nmap| :nm[ap] 类似于 ":map",但使用普通模式 |:nmapclear| :nmapc[lear] 清除普通模式的所有映射 |:nmenu| :nme[nu] 为普通模式增加菜单 |:nnoremap| :nn[oremap] 类似于 ":noremap",但使用普通模式 |:nnoremenu| :nnoreme[nu] 类似于 ":noremenu",但使用普通模式 |: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] 删除普通模式的菜单 |: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] 删除操作符等待模式的菜单 |:print| :p[rint] 显示行 |: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] 跳转到参数列表里的上一个文件 |:promptfind| :pro[mptfind] 搜索对话框 |:promptrepl| :promptr[epl] 搜索/替换对话框 |: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] 显示当前目录 |: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 脚本文件 |:runtime| :ru[ntime] 执行 'runtimepath' 里的 vim 脚本 |:rviminfo| :rv[iminfo] 读取 viminfo 文件 |:substitute| :s[ubstitute] 查找和替代文本 |:sNext| :sN[ext] 分割窗口并转到参数列表的前一个文件 |: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 |:snext| :sn[ext] 分割窗口并转到参数列表的下一个文件 |:sniff| :sni[ff] 发送请求到 sniff |:snomagic| :sno[magic] 带 'nomagic' 的 :substitute |:source| :so[urce] 从文件里读取 Vim 或 Ex 命令 |:split| :sp[lit] 分割当前窗口 |:sprevious| :spr[evious] 分割窗口并转到参数列表的前一个文件 |:srewind| :sre[wind] 分割窗口并转到参数列表的第一个文件 |:stop| :st[op] 暂停编辑器并退回外壳 |:stag| :sta[g] 分割窗口并跳转到标签上 |:startinsert| :star[tinsert] 开始插入模式 |:stopinsert|| :stopi[nsert] 退出插入模式 |:stjump| :stj[ump] 执行 ":tjump" 并分割窗口 |:stselect| :sts[elect] 执行 ":tselect" 并分割窗口 |:sunhide| :sun[hide] 等同于 ":unhide" |:suspend| :sus[pend] 等同于 ":stop" |:sview| :sv[iew] 分割窗口并以只读模式编辑文件 |:swapname| :sw[apname] 显示当前交换文件的名字 |:syntax| :sy[ntax] 语法高亮 |:syncbind| :sync[bind] 同步滚动绑定 |:t| :t 等同于 ":copy" |:tNext| :tN[ext] 跳转到上一个匹配的标签 |: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] 撤销最近的改变 |:unabbreviate| :una[bbreviate] 删除缩写 |:unhide| :unh[ide] 为缓冲区列表里每个载入的文件打开窗口 |:unlet| :unl[et] 删除变量 |:unmap| :unm[ap] 删除映射 |:unmenu| :unme[nu] 删除菜单 |:update| :up[date] 如果有修改,写回缓冲区 |:vglobal| :v[global] 对不匹配的行,执行命令 |:version| :ve[rsion] 显示版本号和其它信息 |:verbose| :verb[ose] 执行命令,过程中设置 'verbose' |:vertical| :vert[ical] 使得跟随的命令垂直分割 |:visual| :vi[sual] 等同于 ":edit",但关掉 "Ex" 模式 |:view| :vie[w] 以只读方式编辑文件 |:vmap| :vm[ap] 类似于 ":map",但使用可视模式 |:vmapclear| :vmapc[lear] 删除可视模式所有的映射 |:vmenu| :vme[nu] 为可视模式增加菜单 |:vnoremap| :vn[oremap] 类似于 ":noremap",但使用可视模式 |:vnew| :vne[w] 建立新的空白窗口,垂直分割 |: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 |:wviminfo| :wv[iminfo] 写入 viminfo 文件 |:xit| :x[it] 如果缓冲区被改动,写入之。然后退出窗口或者 Vim |:xall| :xa[ll] 等同于 ":wqall" |:yank| :y[ank] 抽出行到寄存器 |:z| :z 显示一些行 |:~| :~ 重复上次 ":substitute" vim:tw=78:ts=8:ft=help:norl:

Generated by vim2html on 2006年 07月 02日 星期日 22:43:25 UTC