VIM 参考手册 For Vim version 7.3

来源:互联网 发布:unity3d 渐变透明 编辑:程序博客网 时间:2024/05/22 12:53
 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:
原创粉丝点击