|
INDEX
index.txtForVimversion7.3.最近更新:2010年7月
VIM参考手册byBramMoolenaar
译者: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-GCTRL-J往下一行,到插入开始的列
|i_CTRL-G_j|CTRL-Gj往下一行,到插入开始的列
|i_CTRL-G_j|CTRL-G往下一行,到插入开始的列
|i_CTRL-G_k|CTRL-GCTRL-K往上一行,到插入开始的列
|i_CTRL-G_k|CTRL-Gk往上一行,到插入开始的列
|i_CTRL-G_k|CTRL-G往上一行,到插入开始的列
|i_CTRL-G_u|CTRL-Gu开始新的不可撤消的编辑
|i_|删除光标前的字符
|i_digraph|{char1}{char2}
输入二合字母(只有打开了''digraph''选项才有效)
|i_CTRL-H|CTRL-H等同于
|i_|插入字符
|i_CTRL-I|CTRL-I等同于
|i_|等同于
|i_CTRL-J|CTRL-J等同于
|i_CTRL-K|CTRL-K{char1}{char2}
输入二合字母
|i_CTRL-L|CTRL-L''insertmode''打开时:离开插入模式
|i_|开始新行
|i_CTRL-M|CTRL-M等同于
|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-RCTRL-R{0-9a-z"%#:=}
按本义插入寄存器内容
|i_CTRL-R_CTRL-O|CTRL-RCTRL-O{0-9a-z"%#:=}
按本义插入寄存器内容,而且不自动缩进
|i_CTRL-R_CTRL-P|CTRL-RCTRL-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_|结束插入模式(除非打开了''insertmode'')
|i_CTRL-[|CTRL-[等同于
|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|特性才有效}
to''~''不用,除了CTRL-D之前的''0''和''^''
|i_0_CTRL-D|0CTRL-D删除当前行的所有缩进
|i_^_CTRL-D|^CTRL-D删除当前行的所有缩进,在下一行恢复删除的缩进
|i_|删除光标所在的字符
Meta字符(0x80到0xff,128到255)
不用
|i_|光标左移一个字符
|i_|光标左移一个单词
|i_|光标左移一个单词
|i_|光标右移一个字符
|i_|光标右移一个单词
|i_|光标右移一个单词
|i_|光标上移一行
|i_|等同于
|i_|光标下移一行
|i_|等同于
|i_|光标移到行首
|i_|光标移到文件首
|i_|光标移到行尾后面
|i_|光标移到文件尾后面
|i_|满屏上滚
|i_|满屏下滚
|i_|等同于
|i_|停止插入模式显示帮助窗口
|i_|切换插入/替换模式
|i_|光标移到鼠标点击处
|i_|窗口向下滚动三行
|i_|窗口向下滚动完整一页
|i_|窗口向上滚动三行
|i_|窗口向上滚动完整一页
|i_|窗口向左滚动六列
|i_|窗口向左滚动完整一页
|i_|窗口向右滚动六列
|i_|窗口向右滚动完整一页
CTRL-X子模式的命令i_CTRL-X_index
|i_CTRL-X_CTRL-D|CTRL-XCTRL-D补全定义过的标识符
|i_CTRL-X_CTRL-E|CTRL-XCTRL-E上滚
|i_CTRL-X_CTRL-F|CTRL-XCTRL-F补全文件名
|i_CTRL-X_CTRL-I|CTRL-XCTRL-I补全标识符
|i_CTRL-X_CTRL-K|CTRL-XCTRL-K从字典补全标识符
|i_CTRL-X_CTRL-L|CTRL-XCTRL-L补全完整的行
|i_CTRL-X_CTRL-N|CTRL-XCTRL-N下一个补全
|i_CTRL-X_CTRL-O|CTRL-XCTRL-O全能(omni)补全
|i_CTRL-X_CTRL-P|CTRL-XCTRL-P上一个补全
|i_CTRL-X_CTRL-S|CTRL-XCTRL-S拼写建议
|i_CTRL-X_CTRL-T|CTRL-XCTRL-T从同义词词典补全标识符
|i_CTRL-X_CTRL-U|CTRL-XCTRL-U用''completefunc''补全
|i_CTRL-X_CTRL-V|CTRL-XCTRL-V如同:命令行那样补全
|i_CTRL-X_CTRL-Y|CTRL-XCTRL-Y下滚
|i_CTRL-X_CTRL-]|CTRL-XCTRL-]补全标签
|i_CTRL-X_s|CTRL-Xs拼写建议
{仅当编译时加入|+insert_expand|特性才有效}
2.普通模式normal-index
CHAR任何非空白字符
WORD非空白字符的序列(字串)
N命令前输入的数值
{motion}光标移动命令
Nmove{motion}移动经过的文本
SECTION可能以''}''而不是''{''开始的小节
备注:1=光标移动命令;2=可以撤消/重做
标签字符备注普通模式的动作
CTRL-@不用
|CTRL-A|CTRL-A2把N加到光标所在/之后的数值上
|CTRL-B|CTRL-B1反向(Back)滚动N屏
|CTRL-C|CTRL-C终止当前的(搜索)命令
|CTRL-D|CTRL-D向下(Down)滚动N行(缺省:半屏)
|CTRL-E|CTRL-E向上滚动N行(附加(Extra)N行)
|CTRL-F|CTRL-F1向前(Forward)滚动N屏
|CTRL-G|CTRL-G显示当前文件名和位置
||1等同于"h"
|CTRL-H|CTRL-H1等同于"h"
||1跳转到跳转表里第N个较新的项目
|CTRL-I|CTRL-I1等同于
||1等同于"j"
|CTRL-J|CTRL-J1等同于"j"
CTRL-K不用
|CTRL-L|CTRL-L重画屏幕
||1光标移到N行下面的第一个CHAR
|CTRL-M|CTRL-M1等同于
|CTRL-N|CTRL-N1等同于"j"
|CTRL-O|CTRL-O1跳转到跳转表里第N个较旧的项目
|CTRL-P|CTRL-P1等同于"k"
CTRL-Q(用于终端控制流)
|CTRL-R|CTRL-R2重做''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-X2从光标所在/之后的数值上减去N
|CTRL-Y|CTRL-Y下滚N行
|CTRL-Z|CTRL-Z暂停程序(或者启动新的外壳)
CTRL-[不用
|CTRL-\_CTRL-N|CTRL-\CTRL-N进入普通(Normal)模式(空动作)
|CTRL-\_CTRL-G|CTRL-\CTRL-G进入''insertmode''指定的模式
CTRL-\a-z保留作扩展用
CTRL-\其它不用
|CTRL-]|CTRL-]:ta到光标所在的标识符
|CTRL-^|CTRL-^编辑第N个轮换文件(等价于":e#N")
CTRL-_不用
||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等同于
|,|,1反方向重复最近的f、t、F或TN次
|-|-1光标移动到上方N行的第一个CHAR上
|.|.2重复最近的改变,其计数被N取代
|/|/{pattern}1正向搜索第N次出现的{pattern}
|/|/1正向搜索最近一次搜索使用的{pattern}
|count|01光标移动到本行的第一个字符上
|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或TN次
|<|<{motion}2左移Nmove文本行一个''shiftwidth''
|<<|<<2左移N行一个''shiftwidth''
|=|={motion}2通过"indent"过滤Nmove文本行
|==|==2通过"indent"过滤N行
|>|>{motion}2右移Nmove文本行一个''shiftwidth''
|>>|>>2右移N行一个''shiftwidth''
|?|?{pattern}1反向搜索第N次出现的{pattern}
|?|?1反向搜索最近一次搜索使用的{pattern}
|@|@{a-z}2执行{a-z}寄存器的内容N次
|@:|@:重复上次的":"命令N次
|@@|@@2重复上次的@{a-z}N次
|A|A2在行尾附加文本N次
|B|B1光标反向移动N个WORD(字串)
|C|["x]C2从光标位置到行尾部分,再加上N-1行进行修改
[到缓冲区(译者注:应为寄存器,下同)x];等
价于"c$"
|D|["x]D2删除位置到行尾部分,再加上N-1行的字符[到
缓冲区(见上)x];等价于"d$"
|E|E1光标正向移动到第N个WORD的结束处
|F|F{char}1光标左移到第N次出现的{char}上
|G|G1光标移动到第N行,缺省是最后一行
|H|H1光标移动到屏幕顶部开始算的第N行
|I|I2在本行第一个CHAR之前插入文本N次
|J|J2连接(Join)N行;缺省为2
|K|K查找光标所在的关键字(Keyword),使用
''keywordprg''的定义
|L|L1光标移动到屏幕底部开始算的第N行
|M|M1光标移动到屏幕的中间一行
|N|N1反方向重复最近的''/''或''?''N次
|O|O2在光标上方开始一个新行,并插入文本,重复N
次
|P|["x]P2在光标放置文本[到缓冲区(见上)x]N次
|Q|Q切换到"Ex"模式
|R|R2进入替换模式:覆盖存在的字符,重复输入文本
N-1次
|S|["x]S2删除N行[到缓冲区(见上)x]]并开始输入;
等价于"cc"
|T|T{char}1光标移动到左侧第N次出现的{char}之前
|U|U2撤消一行内所有最近的改变
|V|V进入面向行的可视(Visual)模式
|W|W1光标前移N个WORD
|X|["x]X2删除光标前的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|a2在光标处附加文本N次
|b|b1光标反向移动N个单词
|c|["x]c{motion}2删除Nmove文本[到缓冲区(见上)x]并开始
编辑
|cc|["x]cc2删除N行[到缓冲区(见上)x]并开始编辑
|d|["x]d{motion}2删除Nmove文本[到缓冲区(见上)x]
|dd|["x]dd2删除N行[到缓冲区(见上)x]]
|do|do2等同于":diffget"
|dp|dp2等同于":diffput"
|e|e1光标正向移动到第N个单词的结束处
|f|f{char}1光标右移到第N次出现的{char}上
|g|g{char}扩展命令,见下|g|
|h|h1光标左移N个字符
|i|i2在光标前插入文本N次
|j|j1光标下移N行
|k|k1光标上移N行
|l|l1光标右移N个字符
|m|m{A-Za-z}在光标位置处设置位置标记{A-Za-z}
|n|n1重复最近的''/''或''?''N次
|o|o2在光标下方开始一个新行,并插入文本,重复N
次
|p|["x]p2在光标后放置文本[从寄存器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]s2(替换)删除N个字符[到缓冲区(见上)x]并
开始输入
|t|t{char}1光标移动到右侧第N次出现的{char}之前
|u|u2撤消改变
|v|v开始面向字符的可视(Visual)模式
|w|w1光标前移N个单词
|x|["x]x2删除光标开始的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文本的大小写
||1等同于"G"
||1等同于"gg"
||1等同于"b"
||":ta"到鼠标点击所在的单词上
||1等同于"w"
||等同于"CTRL-T"
||["x]2等同于"x"
|N|{count}删除{count}最后的一位数字
||1等同于"j"
||1等同于"$"
||等同于
||打开帮助窗口
||1等同于"0"
||2等同于"i"
||1等同于"h"
||1移动光标到鼠标点击处
||2等同于在鼠标点击处"gP"
||等同于CTRL-F
||等同于CTRL-B
||1等同于"l"
||开始可视模式,移动光标到鼠标点击处
||1等同于CTRL-F
||1等同于"b"
||等同于在鼠标点击处""
||1等同于"w"
||等同于在鼠标点击处"#"
||1等同于CTRL-B
||2等同于"u"
||1等同于"k"
||窗口向下滚动三行
||窗口向下滚动完整一页
||窗口向上滚动三行
||窗口向上滚动完整一页
||窗口向左滚动六列
||窗口向左滚动完整一页
||窗口向右滚动六列
||窗口向右滚动完整一页
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-WCTRL-B等同于"CTRL-Wb"
|CTRL-W_CTRL-C|CTRL-WCTRL-C等同于"CTRL-Wc"
|CTRL-W_CTRL-D|CTRL-WCTRL-D等同于"CTRL-Wd"
|CTRL-W_CTRL-F|CTRL-WCTRL-F等同于"CTRL-Wf"
CTRL-WCTRL-G等同于"CTRL-Wg.."
|CTRL-W_CTRL-H|CTRL-WCTRL-H等同于"CTRL-Wh"
|CTRL-W_CTRL-I|CTRL-WCTRL-I等同于"CTRL-Wi"
|CTRL-W_CTRL-J|CTRL-WCTRL-J等同于"CTRL-Wj"
|CTRL-W_CTRL-K|CTRL-WCTRL-K等同于"CTRL-Wk"
|CTRL-W_CTRL-L|CTRL-WCTRL-L等同于"CTRL-Wl"
|CTRL-W_CTRL-N|CTRL-WCTRL-N等同于"CTRL-Wn"
|CTRL-W_CTRL-O|CTRL-WCTRL-O等同于"CTRL-Wo"
|CTRL-W_CTRL-P|CTRL-WCTRL-P等同于"CTRL-Wp"
|CTRL-W_CTRL-Q|CTRL-WCTRL-Q等同于"CTRL-Wq"
|CTRL-W_CTRL-R|CTRL-WCTRL-R等同于"CTRL-Wr"
|CTRL-W_CTRL-S|CTRL-WCTRL-S等同于"CTRL-Ws"
|CTRL-W_CTRL-T|CTRL-WCTRL-T等同于"CTRL-Wt"
|CTRL-W_CTRL-V|CTRL-WCTRL-V等同于"CTRL-Wv"
|CTRL-W_CTRL-W|CTRL-WCTRL-W等同于"CTRL-Ww"
|CTRL-W_CTRL-X|CTRL-WCTRL-X等同于"CTRL-Wx"
|CTRL-W_CTRL-Z|CTRL-WCTRL-Z等同于"CTRL-Wz"
|CTRL-W_CTRL-]|CTRL-WCTRL-]等同于"CTRL-W]"
|CTRL-W_CTRL-^|CTRL-WCTRL-^等同于"CTRL-W^"
|CTRL-W_CTRL-_|CTRL-WCTRL-_等同于"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-WH移动当前窗口到最左端
|CTRL-W_J|CTRL-WJ移动当前窗口到最底部
|CTRL-W_K|CTRL-WK移动当前窗口到最顶部
|CTRL-W_L|CTRL-WL移动当前窗口到最右端
|CTRL-W_P|CTRL-WP跳转到预览窗口
|CTRL-W_R|CTRL-WR向上旋转窗口N次
|CTRL-W_S|CTRL-WS等同于"CTRL-Ws"
|CTRL-W_T|CTRL-WT移动当前窗口到新标签页
|CTRL-W_W|CTRL-WW跳转到前面第N个窗口(回绕)
|CTRL-W_]|CTRL-W]分割窗口并跳转到光标所在的标签上
|CTRL-W_^|CTRL-W^分割窗口并编辑轮换文件N
|CTRL-W__|CTRL-W_设置当前窗口高度为N(缺省:尽量大)
|CTRL-W_b|CTRL-Wb跳转到底部的窗口
|CTRL-W_c|CTRL-Wc关闭当前窗口(类似于|:close|)
|CTRL-W_d|CTRL-Wd分割窗口并跳转到光标所在的定义上
|CTRL-W_f|CTRL-Wf分割窗口并跳转到光标所在的文件名上
|CTRL-W_F|CTRL-WF分割窗口并编辑光标所在的文件名,然后跳转到
文件名后给出的行号上。
|CTRL-W_g_CTRL-]|CTRL-WgCTRL-]分割窗口并在光标所在的标签上执行|:tjump|
|CTRL-W_g]|CTRL-Wg]分割窗口并在光标所在的标签上执行|:tselect|
|CTRL-W_g}|CTRL-Wg}在光标所在的标签上执行|:ptjump|
|CTRL-W_gf|CTRL-Wgf在新的标签页里编辑光标所在的文件名
|CTRL-W_gF|CTRL-WgF在新的标签页里编辑光标所在的文件名然后跳转
到文件名后给出的行号上。
|CTRL-W_h|CTRL-Wh跳转到左面第N个的窗口(在首个窗口上停止)
|CTRL-W_i|CTRL-Wi分割窗口并跳转到光标所在的标识符的声明上
|CTRL-W_j|CTRL-Wj跳转到下面第N个的窗口(在最后窗口上停止)
|CTRL-W_k|CTRL-Wk跳转到上面第N个的窗口(在首个窗口上停止)
|CTRL-W_l|CTRL-Wl跳转到右面第N个的窗口(在最后窗口上停止)
|CTRL-W_n|CTRL-Wn打开新窗口,N行高
|CTRL-W_o|CTRL-Wo关闭除了当前窗口以外的所有窗口(类似于
|:only|)
|CTRL-W_p|CTRL-Wp转到前面一个(最近访问的)窗口
|CTRL-W_q|CTRL-Wq退出当前窗口(类似于|:quit|)
|CTRL-W_r|CTRL-Wr向下旋转窗口N次
|CTRL-W_s|CTRL-Ws分割当前窗口为两部分,新的窗口N行高
|CTRL-W_t|CTRL-Wt跳转到顶部窗口
|CTRL-W_v|CTRL-Wv垂直分割当前窗口,新的窗口N列宽
|CTRL-W_w|CTRL-Ww转到后面第N个窗口(回绕)
|CTRL-W_x|CTRL-Wx交换当前和第N个窗口(缺省:下一个窗口)
|CTRL-W_z|CTRL-Wz关闭预览窗口
|CTRL-W_bar|CTRL-W|设置窗口宽度为N列
|CTRL-W_}|CTRL-W}在预览窗口里显示光标所在的标签
|CTRL-W_|CTRL-W等同于"CTRL-Wj"
|CTRL-W_|CTRL-W等同于"CTRL-Wk"
|CTRL-W_|CTRL-W等同于"CTRL-Wh"
|CTRL-W_|CTRL-W等同于"CTRL-Wl"
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|[P2等同于"[p"
|[[|[[1光标后退N个小节
|[]|[]1光标后退N个SECTION
|[c|[c1光标后退N个更改开始的地方
|[d|[d显示第一个在当前文件和它包含的头文件里匹配
光标所在的单词的#define,从当前文件的头部
开始
|[f|[f等同于"gf"
|[i|[i显示第一个在当前文件和它包含的头文件里匹配
光标所在单词的位置,从当前文件的头部开始
|[m|[m1光标后退N个成员函数的开始
|[p|[p2类似于"P",但调整当前行的缩进
|[s|[s1移动到前一个拼写错误的单词
|[z|[z1移动到打开的折叠的开始
|[{|[{1光标后退N个未匹配的''{''
|[[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|]P2等同于"[p"
|]]|]]1光标前进N个小节
|]]|]]1光标前进N个SECTION
|]c|]c1光标前进N个更改开始的地方
|]d|]d显示第一个在当前文件和它包含的头文件里匹配
光标所在的单词的#define,从光标位置开始
|]f|]f等同于"gf"
|]i|]i显示第一个在当前文件和它包含的头文件里匹配
光标所在单词的位置,从光标位置开始
|]m|]m1光标前进N个成员函数的结尾
|]p|]p2类似于"p",但调整当前行的缩进
|]s|]s1移动到后一个拼写错误的单词
|]z|]z1移动到打开的折叠的结尾处
|]{|]{1光标前进N个未匹配的''}''
|]]2等同于"]p"
2.4''g''开始的命令g
标签字符备注普通模式下的动作
|g_CTRL-A|gCTRL-A只有在编译时加入了MEM_PROFILE时才有定义:
转储内存内容
|g_CTRL-G|gCTRL-G显示当前光标位置
|g_CTRL-H|gCTRL-H启动选择列块模式
|g_CTRL-]|gCTRL-]|:tjump|到光标所在的标签上
|g#|g#1类似于"#",但不使用"\<"和"\>"
|g$|g$1''wrap''关闭时转到当前行最右侧屏幕上可见的字
符
''wrap''打开时转到当前屏幕行最右侧的字符
|g&|g&2在所有行上重复上次的":s"
|g''|g''{mark}1类似于|''|,但不改变跳转表
|g`|g`{mark}1类似于|`|,但不改表跳转表
|gstar|g1类似于"",但不使用"\<"和"\>"
|g0|g01''wrap''关闭时转到当前行最左侧屏幕上可见的字
符
''wrap''打开时转到当前屏幕行最左侧的字符
|g8|g8显示光标所在的UTF-8字符的十六进制字节码
|g<|g<显示上次的命令输出
|g?|g?2Rot13编码操作符
|g?g?|g??2Rot13编码当前行
|g?g?|g?g?2Rot13编码当前行
|gD|gD1转到当前文件的光标所在单词的定义
|gE|gE1反向转移到上一个WORD的结尾处
|gH|gH启动选择行模式
|gI|gI2类似于"I",但总是从第一列开始
|gJ|gJ2连接行,不插入空格
|gP|["x]gP2在光标签放置文本[从寄存器x]N次,光标留
在插入文本之后
|gR|gR2进入虚拟替换模式
|gU|gU{motion}2使得Nmove文本全部大写
|gV|gV在执行选择模式下的映射或者菜单时,不要重复
选择过去的可视区域
|g]|g]:tselect到光标所在的标签上
|g^|g^1''wrap''关闭时转到当前行最左侧屏幕上可见的非
空白字符
''wrap''打开时转到当前屏幕行最左侧的非空白字
符
|ga|ga打印光标所在处的字符的ascii值
|gd|gd1转到当前函数里当前光标所在的单词的定义
|ge|ge1反向转到前一个单词的结尾处
|gf|gf开始编辑当前光标所在的名字对应的文件
|gF|gF开始编辑光标所在的文件名并跳转到文件名后的
行号上。
|gg|gg1光标移动到第N行,缺省是第一行
|gh|gh开始选择模式
|gi|gi2类似于"i",但先移动到|''^|位置标记
|gj|gj1类似于"j",但''wrap''打开时往下N个屏幕行
|gk|gk1类似于"k",但''wrap''打开时往上N个屏幕行
|gm|gm1转到屏幕行正中间的那个字符
|go|go1光标移动到缓冲区的第N个字节
|gp|["x]gp2在光标后面放置文本[从寄存器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|g1等同于"gj"
|g|g1等同于"g$"
|g|g1等同于"g0"
|g|g等同于
g等同于
|g|g等同于
|g|g1等同于"gk"
2.5''z''开始的命令z
标签字符备注普通模式下的动作
|z|z重画,光标移动到窗口的顶行的第一个非空白字
符
|zN|z{height}重画,使得窗口高度为{height}行
|z+|z+光标移动到第N行(缺省为窗口之后的第一
行),其它同"z"
|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|zj1移动到下一个折叠的开始处
|zk|zk1移动到前一个折叠的结束处
|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|z等同于"zh"
|z|z等同于"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_|2选择模式:删除高亮区域
|v_CTRL-H|CTRL-H2等同于
|v_CTRL-O|CTRL-O从选择模式切换到可视模式,只限于下个命令
|v_CTRL-V|CTRL-V使得可视模式面向列块,或者退出可视模式
|v_|结束可视模式
|v_CTRL-]|CTRL-]跳转到高亮的标签上
|v_!|!{filter}2通过外部命令{filter}过滤高亮行
|v_:|:使用高亮行作为范围,开始一个命令行
|v_<|<2左移高亮行一个''shiftwidth''
|v_=|=2用{equalprg}选项指定的外部程序过滤高亮行
|v_>|>2右移高亮行一个''shiftwidth''
|v_b_A|A2列块模式下:在高亮区域的所有行后附加相同的
文本
|v_C|C2删除高亮行,并开始插入
|v_D|D2删除高亮行
|v_b_I|I2列块模式:在所有高亮行之前插入相同的文本
|v_J|J2连接高亮行
|v_K|K在高亮区域上运行''keywordprg''
|v_O|O水平移动到区域的另外一侧
Q不启动Ex模式
|v_R|R2删除高亮行并开始插入
|v_S|S2删除高亮行并开始插入
|v_U|U2使得高亮区域全变大写
|v_V|V使得可视区域面向行,或者退出可视模式
|v_X|X2删除高亮区域
|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|c2删除高亮区域,并开始插入
|v_d|d2删除高亮区域
|v_gJ|gJ2连接高亮行,不插入空格
|v_gq|gq2排版高亮行
|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|r2删除高亮区域,并开始插入
|v_s|s2删除高亮区域,并开始插入
|v_u|u2使得高亮区域全变小写
|v_v|v使得可视模式面向字符,或者退出可视模式
|v_x|x2删除高亮区域
|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等同于
|c_CTRL-D|CTRL-D列出光标前面模式的所有补全
|c_CTRL-E|CTRL-E光标移动到命令行结束的地方
|''cedit''|CTRL-F''cedit''的缺省值:打开命令行窗口;否则不用
CTRL-G不用
|c_|删除光标前面的字符
|c_digraph|{char1}{char2}
''digraph''打开时,输入二合字母
|c_CTRL-H|CTRL-H等同于
|c_|如果''wildchar''是:补全光标前面的模式
|c_|等同于CTRL-P
|c_wildchar|''wildchar''补全光标前面的模式(缺省:)
|c_CTRL-I|CTRL-I等同于
|c_|等同于 | | |