您的位置:首页 > 其它

VIM7.3中文手册

2014-02-23 14:25 274 查看
INDEX

*index.txt* For Vim version 7.3. 最近更新: 2010年7月

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| ] CTRL-D 跳转到第一个在当前文件和它包含的头文件里匹

配光标所在的单词的 #define,从光标位置开始

|_CTRL-I]]_CTRL-I| ] CTRL-I 跳转到第一个在当前文件和它包含的头文件里匹

配光标所在单词的位置,从光标位置开始

|#]]#| ]# 1 光标移动到后面第 N 个未匹配的 #endif、#else

|']]'| ]' 1 光标移动到后面的小写位置标记,定位在它所在

行的第一个非空白字符上

|](| ]( 1 光标移动到后面第 N 个未匹配的 ')'

|star]]star| ]* 1 等同于 "]/"

|%60]]`| ]` 1 光标移动到后一个小写位置标记

|/]]/| ]/ 1 光标移动到后面第 N 个 C 注释的结尾处

|D]]D| ]D 列出在当前文件和它包含的头文件里匹配光标所

在的单词的所有定义,从光标位置开始

|I]]I| ]I 列出在当前文件和它包含的头文件里匹配光标所

在单词的所有位置,从光标位置开始

|P]]P| ]P 2 等同于 "[p"

|]]]]| ]] 1 光标前进 N 个小节

|]]]]| ]] 1 光标前进 N 个 SECTION

|c]]c| ]c 1 光标前进 N 个更改开始的地方

|d]]d| ]d 显示第一个在当前文件和它包含的头文件里匹配

光标所在的单词的 #define,从光标位置开始

|f]]f| ]f 等同于 "gf"

|i]]i| ]i 显示第一个在当前文件和它包含的头文件里匹配

光标所在单词的位置,从光标位置开始

|m]]m| ]m 1 光标前进 N 个成员函数的结尾

|p]]p| ]p 2 类似于 "p",但调整当前行的缩进

|s]]s| ]s 1 移动到后一个拼写错误的单词

|z]]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 次,光标留

在插入文本之后

|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
打开 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
打开位置窗口

|: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
操作标号

|: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:

Generated by vim2html on Thu Dec 2 02:34:00 UTC 2010
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: