*quickref.txt* For Vim version 6.4. 最近更新: 2005年3月 VIM REFERENCE MANUAL by Bram Moolenaar译者
: lang2 http://vimcdoc.sf.net 快速参考指南 *quickref* *Contents*标签 主题 标签 主题
|Q_ct| 帮助文件清单 |Q_re| 重复命令 |Q_lr| 移动: 左右 |Q_km| 键盘映射 |Q_ud| 移动: 上下 |Q_ab| 缩写 |Q_tm| 移动: 文本目标 |Q_op| 选项 |Q_pa| 移动: 查找方式 |Q_ur| 取消/重复 命令 |Q_ma| 移动: 标记 |Q_et| 外部命令 |Q_vm| 移动: 其他 |Q_qf| Quickfix 命令 |Q_ta| 移动: 使用标签 |Q_vc| 其他命令 |Q_sc| 卷屏 |Q_ce| Ex: 命令行编辑 |Q_in| 插入: 插入文本 |Q_ra| Ex: 范围 |Q_ai| 插入: 普通键 |Q_ex| Ex: 特殊字符 |Q_ss| 插入: 特殊键 |Q_ed| 文件编辑 |Q_di| 插入: 二合字母 |Q_fl| 使用参数列表 |Q_si| 插入: 特殊插入 |Q_wq| 写入与退出 |Q_de| 改动: 删除文本 |Q_st| 启动 VIM |Q_cm| 改动: 拷贝与移动 |Q_ac| 自动命令 |Q_ch| 改动: 修改文本 |Q_wi| 多窗口命令 |Q_co| 改动: 复杂 |Q_bu| 缓冲列表命令 |Q_vi| 可视模式 |Q_sy| 语法加亮 |Q_to| 文本对象 |Q_gu| GUI 命令 |Q_fo| 折叠
N 用来 (可选) 置于命令之前表示该命令执行的次数。
*Q_lr* 左右移动 |h| N h 左 (亦:CTRL-H
,<BS>
, 或<Left>
键) |l| N l 右 (亦:<Space>
或<Right>
键) |0| 0 移动至本行第一个字符 (亦:<Home>
键) |^| ^ 移动至本行第一个非空白字符 |$| N $ 移动至本行 (N-1 后续行) 最后一个字符 (亦:<End>
键) |g0| N g0 移动至屏幕行的第一个字符 (当折行时和 "0" 不同) |g^| N g^ 移动至屏幕行的第一个非空白字符 (当折行时和 "^" 不同) |g$| N g$ 移动至屏幕行的最后一个字符 (当折行时和 "$" 不同) |gm| N gm 移动至屏幕行的中点 |bar| N | 移动至第N列 (缺省: 1) |f| N f{char}
移动至右边第 N 次出现{char}
的地方 |F| N F{char}
移动至左边第 N 次出现{char}
的地方 |t| N t{char}
移动至右边第 N 次出现{char}
之前 |T| N T{char}
移动至左边第 N 次出现{char}
之前 |;| N ; 重复上次 "f", "F", "t", 或 "T" 命令 N 次 |,| N , 以相反方向重复上次 "f", "F", "t", 或 "T" 命令 N 次
*Q_ud* 上下移动 |k| N k 上移 N 行 (亦:CTRL-P
和<Up>
) |j| N j 下移 N 行 (亦:CTRL-J
,CTRL-N
,<NL>
, 和<Down>
) |-| N - 上移 N 行, 并至第一个非空白字符 |+| N + 下移 N 行, 并至第一个非空白字符 (亦:CTRL-M
和<CR>
) |_| N _ 下移 N - 1 行, 并至第一个非空白字符 (亦:CTRL-M
和<CR>
) |G| N G 至第 N 行(缺省: 末行), 并至第一个非空白字符 |gg| N gg 至第 N 行(缺省: 首行), 并至第一个非空白字符 |N%| N % 至以行术计算文件的 % N 处. 必须给出 N, 否则是 |%| 命令. |gk| N gk 上移 N 行 (与 "k" 不同于折行的处理) |gj| N gj 下移 N 行 (与 "j" 不同于折行的处理)
*Q_tm* 文本对象移动 |w| N w 向前至第 N 个单词 |W| N W 向前 N 个空白隔开的单词 |WORD| |e| N e 向前至第 N 个单词词尾 |E| N E 向前至第 N 个以空白隔开的单词 |WORD| 的词尾 |b| N b 向后 N 个单词 |B| N B 向后至第 N 个以空白隔开的单词 |WORD| 的词尾 |ge| N ge 向后至第 N 个单词词尾 |gE| N gE 向后至第 N 个以空白隔开的单词 |WORD| 的词尾 |)| N ) 向前 N 个句子 |(| N ( 向后 N 个句子 |}| N } 向前 N 段 |{| N { 向后 N 段 |]]| N ]] 向前 N 节, 置于节的开始 |[[| N [[ 向后 N 节, 置于节的开始 |][| N ][ 向前 N 节, 置于节的末尾 |[]| N [] 向后 N 节, 置于节的末尾 |[(| N [( 向后至第 N 个未结束的 '(' |[{| N [{ 向后至第 N 个未结束的 '{' |[m| N [m 向后至第 N 个方法的开始 (用于 Java) |[M| N [M 向后至第 N 个方法的结束 (用于 Java) |])| N ]) 向前至第 N 个未结束的 ')' |]}| N ]} 向前至第 N 个未结束的 '}' |]m| N ]m 向前至第 N 个方法的开始 (用于 Java) |]M| N ]M 向前至第 N 个方法的结束 (用于 Java) |[#| N [# 向后至第 N 个未结束的 "#if" 或 "#else" |]#| N ]# 向前至第 N 个未结束的 "#else" 或 "#endif" |[star| N [* 向后至第 N 各注释的开始 "/*" |]star| N ]* 向前至第 N 各注释的结束 "*/"
*Q_pa* 按模式查找 |/| N /{pattern}
[/[offset]
]<CR>
向前查找第 N 次出现{pattern}
的地方 |?| N ?{pattern}
[?[offset]
]<CR>
向后查找第 N 次出现{pattern}
的地方 |/<CR>| N /<CR>
向前重复上次查找 |?<CR>| N ?<CR>
向后重复上次查找 |n| N n 重复上次查找 |N| N N 以反方向重复上次查找 |star| N * 向前查找光标下的标识符 |#| N # 向后查找光标下的标识符 |gstar| N g* 如 "*", 但也查找部分匹配 |g#| N g# 如 "*", 但也查找部分匹配 |gd| gd 移动至光标下标识符的局部声明 |gD| gD 移动至光标下标识符的全局声明 |pattern| 查找模式中的特殊字符含义 magic nomagic
匹配任意单个字符 . \. 匹配行首 ^ ^ 匹配<EOL>
$ $ 匹配单词开始 \< \< 匹配单词结束 \> \> 匹配标定范围中的单个字符 [a-z] \[a-z] 匹配不在标定范围中的单个字符 [^a-z] \[^a-z] 匹配一个标识符字符 \i \i 同上但不包括数字 \I \I 匹配一个关键字字符 \k \k 同上但不包括数字 \K \K 匹配一个文件名字符 \f \f 同上但不包括数字 \F \F 匹配一个可打印的字符 \p \p 同上但不包括数字 \P \P 匹配一个空白字符 \s \s 匹配一个非空白字符 \S \S 匹配<Esc>
\e \e 匹配<Tab>
\t \t 匹配<CR>
\r \r 匹配<BS>
\b \b 匹配 0 或多个前面的匹配原子 * \* 匹配 0 或多个前面的匹配原子 \+ \+ 匹配 0 或多个前面的匹配原子 \= \= 匹配 2 至 5 个前面的匹配原子 \{2,5}
\{2,5}
隔开两种可能的匹配 \| \| 将一个模式组成一个匹配原子 \(\) \(\) |search-offset| 查找命令后可用的偏移量[num]
[num]
行向下, 位于第一栏 +[num]
[num]
行向下, 位于第一栏 -[num]
[num]
行向上, 位于第一栏 e[+num]
匹配结尾右方[num]
个字符处 e[-num]
匹配结尾左方[num]
个字符处 s[+num]
匹配启始右方[num]
个字符处 s[-num]
匹配启始左方[num]
个字符处 b[+num]
匹配启始右方[num]
个字符处 b[-num]
匹配启始左方[num]
个字符处 ;{search-command}
接着执行{search-command}
查找
*Q_ma* 标记与移动 |m| m{a-zA-Z}
用标记{a-zA-Z}
记录当前位置 |`a| `{a-z}
移动至当前文件中的标记{a-z}
|`A| `{A-Z}
移动至任何文件中的标记{A-Z}
|`0| `{0-9}
移动至 Vim 上次退出的位置 |``| `` 移动至上次跳转之前的位置 |`quote| `" 移动至上次编辑此文件的位置 |`[| `[ 移动至上次被操作或放置的文本的开始 |`]| `] 移动至上次被操作或放置的文本的结尾 |`<| `< 移动至 (前次) 可视区域的开始 |`>| `> 移动至 (前次) 可视区域的结尾 |`.| `. 移动至当前文件最后被改动的位置 |'| '{a-zA-Z0-9[]'"
同 `, 但同时移动至该行的第一个非空白字符 |:marks| :marks 列出活动的标记 |CTRL-O| N<>
.}CTRL-O
跳转至跳转列表中第 N 个较早的位置 |CTRL-I| NCTRL-I
跳转至跳转列表中第 N 个较晚的位置 |:ju| :ju[mps] 列出跳转列表
*Q_vm* 其他移动
|%| % 找到本行中下一个括号,方括号,注释,或 "#if"/
"#else"/"#endif" 并移动至与其对称的位置
|H| N H 移动至窗口的第 N 行的第一个非空白字符处
|M| M 移动至窗口的中间行的第一个非空白字符处
|L| N L 移动至窗口的第 N 行(从下方算)的第一个非空白字符处
|go| N go 移动至缓冲的第 N 个字节
|:go| :[range]
go[to] [off] 移动至缓冲的第 [off] 个字节
*Q_ta* 使用标签 |:ta| :ta[g][!]{tag}
跳转至标签{tag}
|:ta| :[count]
ta[g][!] 跳转到标签列表里第[count]
个较新的标签 |CTRL-]|CTRL-]
跳转至光标下的标签,除非文件被改动 |:ts| :ts[elect][!] [tag] 列出匹配的标签并选择一个跳转 |:tjump| :tj[ump][!] [tag] 跳转至标签 [tag] ,当有多个匹配时从列表 中选择跳转 |:tags| :tags 列表标签 |CTRL-T| NCTRL-T
跳转至标签列表中第 n 个较早的标签 |:po| :[count]
po[p][!] 跳转至标签列表中第[count]
个较早的标签 |:tnext| :[count]
tn[ext][!] 跳转至接下来的第[count]
个匹配的标签 |:tp| :[count]
tp[revious][!] 跳转至前面第[count]
个匹配的标签 |:tr| :[count]
tr[ewind][!] 跳转至第[count]
各匹配的标签 |:tl| :tl[ast][!] 跳转至上次匹配的标签 |:ptag| :pt[ag]{tag}
打开一个显示{tag}
标签的预览窗口 |CTRL-W_}|CTRL-W
} 如CTRL-]
但在预览窗口显示标签 |:pts| :pts[elect] 如 ":tselect" 但在预览窗口显示标签 |:ptjump| :ptj[ump] 如 ":tjump" 但在预览窗口显示标签 |:pclose| :pc[lose] 关闭标签预览窗口 |CTRL-W_z|CTRL-W
z 关闭标签预览窗口
*Q_sc* 滚屏 |CTRL-E| NCTRL-E
窗口下卷 N 行 (缺省: 1) |CTRL-D| NCTRL-D
窗口下卷 N 行 (缺省: 1/2 窗口) |CTRL-F| NCTRL-F
窗口前卷 N 页 (向下) |CTRL-Y| NCTRL-Y
窗口上卷 N 行 (缺省: 1) |CTRL-U| NCTRL-U
窗口上卷 N 行 (缺省: 1/2 窗口) |CTRL-B| NCTRL-B
窗口后卷 N 页 (向下) (向上) |z<CR>| z<CR>
或 zt 重画,当前行置窗口顶端 |z.| z. 或 zz 重画,当前行置窗口正中 |z-| z- 或 zb 重画,当前行置窗口底端 以下仅当 'wrap' 选项关闭时生效: |zh| N zh 屏幕右卷 N 个字符 |zl| N zl 屏幕左卷 N 个字符 |zH| N zH 屏幕右卷半个屏宽 |zL| N zL 屏幕左卷半个屏宽
*Q_in* 插入文本
|a| N a 在光标后添加文本 (N 次)
|A| N A 在行末添加文本 (N 次)
|i| N i 在光标签插入文本 (N 次) (亦: <Insert>
)
|I| N I 在当前行的第一个非空白字符前插入文本 (N 次)
|gI| N gI 在第一栏中插入文本 (N 次)
|o| N o 在当前行下方开始新行,添加文本 (N 次)
|O| N O 在当前行上方开始新行,添加文本 (N 次)
|:startinsert| :star[tinsert][!] 开始插入模式,当使用 [!] 时添加文本
在可视块模式下:
|v_b_I| I 在所有选中的行首插入同样的文本
|v_b_A| A 在所有选中的行尾添加同样的文本
*Q_ai* 插入模式键 |insert-index| 插入模式命令的索引,以字母顺序排列 离开插入模式: |i_<Esc>|<Esc>
结束插入模式,回到普通模式 |i_CTRL-C|CTRL-C
同<Esc>
, 但不使用缩写 |i_CTRL-O|CTRL-O
{command}
执行命令{command}
并回到插入模式 移动: |i_<Up>| 光标键 左/右/上/下 移动光标 |i_<S-Left>| shift-left/right 左/右 移动一个单词 |i_<S-Up>| shift-up/down 向后/前一个屏幕 |i_<End>|<End>
光标至本行的末字符后 |i_<Home>|<Home>
光标至本行的首字符
*Q_ss* 插入模式特别键 |i_CTRL-V|CTRL-V
{char}
.. 按表面意义插入字符, 或插入十进制数代表 的字节 |i_<NL>|<NL>
或<CR>
或CTRL-M
或CTRL-J
开始新行 |i_CTRL-E|CTRL-E
插入光标下方的字符 |i_CTRL-Y|CTRL-Y
插入光标上方的字符 |i_CTRL-A|CTRL-A
插入上次插入的文本 |i_CTRL-@|CTRL-@
插入上次插入的文本并结束 插入模式 |i_CTRL-R|CTRL-R
{0-9a-z%#:.-="}
插入寄存器的内容 |i_CTRL-N|CTRL-N
将下一个匹配的标识符插入光标位置前 |i_CTRL-P|CTRL-P
将上一个匹配的标识符插入光标位置前 |i_CTRL-X|CTRL-X
... 以各种方式补全光标前的单词 |i_<BS>|<BS>
或CTRL-H
删除光标前的一个字符 |i_<Del>|<Del>
删除光标下的一个字符 |i_CTRL-W|CTRL-W
删除光标前的一个单词 |i_CTRL-U|CTRL-U
删除当前行的所有字符 |i_CTRL-T|CTRL-T
在当前行首插入一个移位宽度 |i_CTRL-D|CTRL-D
从当前行首删除一个移位宽度 |i_0_CTRL-D| 0CTRL-D
删除当前行的所有缩进 |i_^_CTRL-D| ^CTRL-D
删除当前行的所有缩进, 恢复下一行的缩进
*Q_di* 二合字母 |:dig| :dig[raphs] 显示当前二合字母列表 |:dig| :dig[raphs]{char1}
{char2}
{number}
... 加入一个或多个二合字母到上述列表中 在插入或命令行方式下: |i_CTRL-K|CTRL-K
{char1}
{char2}
键入二合字母 |i_digraph|{char1}
<BS>
{char2}
若 'digraph' 选项被设置则键入二合字母
*Q_si* 特殊插入 |:r| :r [file] 将文件 [file] 的内容插入到光标之下 |:r!| :r!{command}
将命令{command}
的标准输出插入到光标之下
*Q_de* 删除文本 |x| N x 删除光标之下及之后的 N 个字符 |<Del>| N<Del>
删除光标之下及之后的 N 个字符 |X| N X 删除光标之前的 N 个字符 |d| N d{motion}
删除移动{motion}
覆盖的文本 |v_d|{visual}
d 删除加亮的文本 |dd| N dd 删除 N 行 |D| N D 删除至行尾 (以及下面 N-1 行) |J| N J 连接 N-1 行 (删除<EOL>
) |v_J|{visual}
J 连接高亮的行 |gJ| N gJ 如 "J", 但不插入空格 |v_gJ|{visual}
gJ 如 "{visual}
J", 但不插入空格 |:d| :[range]
d [x] 删除范围[range]
覆盖的行 [存入寄存器 x]
*Q_cm* 拷贝和移动文本 |quote| "{char}
在接下来的删除, 剪切, 或放置命令中使用寄存器{char}
|:reg| :reg 显示所有寄存器的内容 |:reg| :reg{arg}
显示寄存器{arg}
的内容 |y| N y{motion}
将动作{motion}
覆盖的文本剪切至一个寄存器 |v_y|{visual}
y 将加亮的文本剪切至一个寄存器 |yy| N yy 剪切 N 行至寄存器 |Y| N Y 剪切 N 行至寄存器 |p| N p 将一个寄存器的内容放置在光标位置后 (N 次) |P| N P 将一个寄存器的内容放置在光标位置前 (N 次) |]p| N ]p 如 p, 但调整当前行的缩进 |[p| N [p 如 P, 但调整当前行的缩进 |gp| N gp 如 p, 但将光标留在新文本之后 |gP| N gP 如 P, 但将光标留在新文本之后
*Q_ch* 改变文本 |r| N r{char}
以{char}
替换 N 个字符 |gr| N gr{char}
替换 N 个字符并不影响布局 |R| N R 进入替换模式 (重复键入的文本 N 次) |gR| N gR 进入虚替换模式: 如替换模式但 不影响布局 |v_b_r|{visual}
r{char}
在可视块模式下: 以字符{char}
替换被选中文本 的每个字符 (改变 = 删除文本并进入插入模式) |c| N c{motion}
改变动作{motion}
覆盖的文本 |v_c|{visual}
c 改变高亮的文本 |cc| N cc 改变 N 行 |S| N S 改变 N 行 |C| N C 改至行尾 (及 N-1 后续行) |s| N s 改变 N 个字符 |v_b_c|{visual}
c 在可视块模式下: 用键入的文本改变选中文本 的每一行 |v_b_C|{visual}
C 在可视块模式下: 用键入的文本改变选中各行 直至每行的行末 |~| N ~ 翻转 N 个字符的大小写并前进光标 |v_~|{visual}
~ 翻转高亮文本的大小写 |v_u|{visual}
u 改高亮的文本为小写 |v_U|{visual}
U 改高亮的文本为大写 |g~| g~{motion}
将动作{motion}
覆盖的文本翻转大小写 |gu| gu{motion}
将动作{motion}
覆盖的文本置为小写 |gU| gU{motion}
将动作{motion}
覆盖的文本置为大写 |v_g?|{visual}
g? 对高亮的文本做 rot13 编码 |g?| g?{motion}
对动作{motion}
覆盖的文本做 rot13 编码 |CTRL-A| NCTRL-A
将光标所在处或其后的数值增加 N |CTRL-X| NCTRL-X
将光标所在处或其后的数值减少 N |<| N <{motion}
将动作{motion}
覆盖的所有行向左移动一个 移位宽度 |<<| N << 向左将 N 行移动一个移位宽度 |>| N >{motion}
将动作{motion}
覆盖的所有行向右移动一个 移位宽度 |>>| N >> 向右将 N 行移动一个移位宽度 |gq| N gq{motion}
排列动作{motion}
覆盖的所有行的格式, 将其 限于 'textwidth' 长度之内 |:ce| :[range]
ce[nter] [width] 将范围[range]
包括的行置中 |:le| :[range]
le[ft] [indent] 左对齐范围[range]
中的行 (使用 [indent]) |:ri| :[range]
ri[ght] [width] 右对齐范围[range]
中的行
*Q_co* 复杂改动 |!| N !{motion}
{command}
<CR>
将动作覆盖的行用命令{command}
过滤 |!!| N !!{command}
<CR>
用命令{command}
过滤 N 行 |v_!|{visual}
!{command}
<CR>
将加亮的行用命令{command}
过滤 |:range!| :[range]
!{command}
<CR>
将范围[range]
包括的行用命令{command}
过滤 |=| N ={motion}
将动作覆盖的行用 'equalprg' 过滤 |==| N == 用 'equalprg' 过滤 N 行 |v_=|{visual}
= 将加亮的行用 'equalprg' 过滤 |:s| :[range]
s[ubstitute]/{pattern}
/{string}
/[g][c] 以{string}
替换范围[range]
包括的行中的{pattern}
; 与 [g] 共用, 替换所有的出现的{pattern}
; 与 [c] 公用, 确认每一次替换 |:s| :[range]
s[ubstitute] [g][c] 以新的范围和选项重复上一次的 ":s" 命令 |&| & 不带选项在当前行上重复上一次的 ":s" 命令 |:ret| :[range]
ret[ab][!] [tabstop] 置 'tabstop' 为新值并依据此值调整空白字符
*Q_vi* 可视模式 |visual-index| 可视模式命令列表 |v| v 开始加亮字符 } 移动光标或使用 |V| V 开始以行方式加亮文本 } 操作符来影响被 |CTRL-V|CTRL-V
开始以块方式加亮文本 } 加亮的文本 |v_o| o 与高亮区域的开始交换光标位置 |gv| gv 以上一次的可视区域开始加亮文本 |v_v| v 开始以字符方式加亮或停止加亮 |v_V| V 开始以行方式加亮或停止加亮 |v_CTRL-V|CTRL-V
开始以块方式加亮或停止加亮
*Q_to* 文本对象 (仅适用于可视模式或在操作符后) |v_aw| N aw 选择 "一个单词" |v_iw| N iw 选择 "内含单词" |v_aW| N aW 选择 "一个字串" |v_iW| N iW 选择 "内含字串" |v_as| N as 选择 "一个句子" |v_is| N is 选择 "内含句子" |v_ap| N ap 选择 "选择一个段落" |v_ip| N ip 选择 "内含段落" |v_ab| N ab 选择 "一个块" (从 "[(" 至 "])") |v_ib| N ib 选择 "内含块" (从 "[(" 到 "])") |v_aB| N aB 选择 "一个大块" (从 "[{" 到 "]}
") |v_iB| N iB 选择 "内含大块" (从 "[{" 到 "]}
")
*Q_re* 重复命令 |.| N . 重复最近一次改动 (将次数改为 N) |q| q{a-z}
将键入的字符录入寄存器{a-z}
|q| q{A-Z}
将键入的字符添加进寄存器{a-z}
|q| q 终止记录 |@| N @{a-z}
执行寄存器{a-z}
的内容(N 次) |@@| N @@ 重复上次的 @{a-z}
操作 (N 次) |:@| :@{a-z}
将寄存器{a-z}
的内容当作一个 Ex 命令来执行 |:@@| :@@ 重复上次的 :@{a-z}
操作 |:g| :[range]
g[lobal]/{pattern}
/[cmd]
对[range]
内所有匹配{pattern}
的行执行 Ex 命令[cmd]
(缺省: ":p") |:g| :[range]
g[lobal]!/{pattern}
/[cmd]
对[range]
内所有不匹配{pattern}
的行执行 Ex 命令[cmd]
(缺省: ":p") |:so| :so[urce]{file}
从文件{file}
读入 Ex 命令 |:so| :so[urce]!{file}
从文件{file}
读入 Vim 命令 |:sl| :sl[eep] [sec] 在 [sec] 秒钟内任何事也不做 |gs| N gs 睡 N 秒
*Q_km* 键盘映射 |:map| :ma[p]{lhs}
{rhs}
在普通及可视模式下将{rhs}
映射为{lhs}
|:map!| :ma[p]!{lhs}
{rhs}
在插入及命令行模式下将{rhs}
映射为{lhs}
|:noremap| :no[remap][!]{lhs}
{rhs}
如 ":map", 但不能为{rhs}
做重映射 |:unmap| :unm[ap]{lhs}
清除普通及可视模式下{lhs}
的映射 |:unmap!| :unm[ap]!{lhs}
清除插入及命令行模式下{lhs}
的映射 |:map_l| :ma[p] [lhs] 列出普通及可视模式下以 [lhs] 开始的映射. |:map_l!| :ma[p]! [lhs] 列出插入及命令行模式下以 [lhs] 开始的映射. |:cmap| :cmap/:cunmap/:cnoremap 如 ":map!"/":unmap!"/":noremap!" 但仅作用于 命令行模式 |:imap| :imap/:iunmap/:inoremap 如 ":map!"/":unmap!"/":noremap!" 但仅作用于 插入行模式 |:nmap| :nmap/:nunmap/:nnoremap 如 ":map!"/":unmap!"/":noremap!" 但仅作用于 普通行模式 |:vmap| :vmap/:vunmap/:vnoremap 如 ":map!"/":unmap!"/":noremap!" 但仅作用于 可视模式 |:omap| :omap/:ounmap/:onoremap 如 ":map!"/":unmap!"/":noremap!" 但仅作用于 Operator-pending 模式 |:mapc| :mapc[lear] 清除普通及可视模式下的映射 |:mapc| :mapc[lear]! 清除插入及命令行模式下的映射 |:imapc| :imapc[lear] 清除插入模式下的映射 |:vmapc| :vmapc[lear] 清除可视模式下的映射 |:omapc| :omapc[lear] 清除 Operator-pending 模式下的映射 |:nmapc| :nmapc[lear] 清除普通模式下的映射 |:cmapc| :cmapc[lear] 清除命令行模式下的映射 |:mkexrc| :mk[exrc][!] [file] 将当前的键盘映射, 缩写, 及设置 写入文件 [file] (缺省: ".exrc"; 使用 ! 覆盖文件) |:mkvimrc| :mkv[imrc][!] [file] 如 ":mkexrc", 但缺省为 ".vimrc" |:mksession| :mks[ession][!] [file] 如 ":mkvimrc", 但同时存储当前文件, 窗口 等等信息, 使得用户将来可以继续当前对话.
*Q_ab* 缩写 |:abbreviate| :ab[breviate]{lhs}
{rhs}
为{rhs}
加入缩写{lhs}
|:abbreviate| :ab[breviate]{lhs}
显示{lhs}
以开始的缩写 |:abbreviate| :ab[breviate] 显示所有缩写 |:unabbreviate| :una[bbreviate]{lhs}
删除所有{lhs}
代表的缩写 |:noreabbrev| :norea[bbrev] [lhs] [rhs] 同 ":ab", 但不重映射 [rhs] |:iabbrev| :iab/:iunab/:inoreab 同 ":ab", 但仅适用于插入模式 |:cabbrev| :cab/:cunab/:cnoreab 同 ":ab", 但仅适用于命令行模式 |:abclear| :abc[lear] 清除所有缩写 |:cabclear| :cabc[lear] 清除所有命令行模式缩写 |:iabclear| :iabc[lear] 清除所有插入模式缩写
*Q_op* 选项 |:set| :se[t] 显示所有被改动的选项 |:set| :se[t] all 显示所有非 termcap 选项 |:set| :se[t] termcap 显示所有 termcap 选项 |:set| :se[t]{option}
置布尔选项 (开启), 显示字符串或数字选项. |:set| :se[t] no{option}
复位布尔选项 (关闭). |:set| :se[t] inv{option}
逆转布尔选项的值。 |:set| :se[t]{option}
={value}
设置字符串/数字选项的值为{value}
。 |:set| :se[t]{option}
+={value}
将{value}
附加到字符串选项里,将{value}
加到数字选项上 |:set| :se[t]{option}
-={value}
从{value}
从字符串选项里删除,从 数字选项里减去{value}
|:set| :se[t]{option}
? 显示{option}
的值 |:set| :se[t]{option}
& 重置{option}
为其缺省值。 |:setlocal| :setl[ocal] 类似于 ":set",但对有局部值的选项只 设定其局部值 |:setglobal| :setg[lobal] 类似于 ":set",但对局部选项设定其全 局值 |:fix| :fix[del] 根据 't_kb' 的值设置 't_kD'。 |:options| :opt[ions] 打开一个新窗口,用来参看并设置选项。 选项们以功能分组。有单行的解释,并有 指向帮助的联接。 各选项的简短说明: *option-list* |'aleph'| |'al'| Aleph 字母 (希伯来语) 的 ASCII 代码 |'allowrevins'| |'ari'| 允许插入和命令行模式的CTRL-_
|'altkeymap'| |'akm'| 缺省的第二语言 (波斯语/希伯来语) |'ambiwidth'| |'ambw'| 如何处理有多种宽度的 Unicode 字符 |'antialias'| |'anti'| Mac OS X: 用平滑反锯齿的字体 |'autochdir'| |'acd'| 根据当前窗口的文件切换目录 |'arabic'| |'arab'| 使用阿拉伯语为缺省的第二语言 |'arabicshape'| |'arshape'| 阿拉伯语的字型重整 |'autoindent'| |'ai'| 根据上一行决定新行的缩进 |'autoread'| |'ar'| 有 Vim 之外的改动时自动重读文件 |'autowrite'| |'aw'| 有改动时自动写回文件 |'autowriteall'| |'awa'| 类似于 'autowrite',但适用于更多命令 |'background'| |'bg'| "dark" 或 "light",用于色彩的高亮 |'backspace'| |'bs'| 在一行开头按退格键如何处理 |'backup'| |'bk'| 覆盖文件时保留备份文件 |'backupcopy'| |'bkc'| 文件备份使用复制而不是换名 |'backupdir'| |'bdir'| 备份文件使用的目录列表 |'backupext'| |'bex'| 备份文件使用的扩展名 |'backupskip'| |'bsk'| 匹配这些模式的文件不予备份 |'balloondelay'| |'bdlay'| 弹出气泡之前的延迟 (以毫秒计) |'ballooneval'| |'beval'| 打开气泡表达式求值功能 |'binary'| |'bin'| 二进制方式读/写/编辑文件 |'bioskey'| |'biosk'| MS-DOS: 用 bios 调用取得字符输入 |'bomb'| 文件头附加字符顺序标记 (Byte Order Mark) |'breakat'| |'brk'| 可以在此换行的字符 |'browsedir'| |'bsdir'| 开始浏览文件的目录 |'bufhidden'| |'bh'| 缓冲区不再在窗口显示时的行为 |'buflisted'| |'bl'| 是否缓冲区显示在缓冲区列表中 |'buftype'| |'bt'| 缓冲区的特殊类型 |'casemap'| |'cmp'| 指定字母大小写如何改变 |'cdpath'| |'cd'| 列出 ":cd" 搜索的目录 |'cedit'| 打开命令行窗口的键 |'charconvert'| |'ccv'| 完成字符编码转换的表达式 |'cindent'| |'cin'| 实现 C 程序的缩进 |'cinkeys'| |'cink'| 设置 'cindent' 时启动缩进的键 |'cinoptions'| |'cino'| 设置 'cindent' 时如何缩进 |'cinwords'| |'cinw'| 'si' 和 'cin' 在这些词后加入额外的缩进 |'clipboard'| |'cb'| 使用剪贴板作为无名的寄存器 |'cmdheight'| |'ch'| 命令行使用的行数 |'cmdwinheight'| |'cwh'| 命令行窗口的高度 |'columns'| |'co'| 显示的列数 |'comments'| |'com'| 开始注释行的模式 |'commentstring'| |'cms'| 注释的样板;用于折叠的标志 |'compatible'| |'cp'| 尽可能做到与 Vi 兼容 |'complete'| |'cpt'| 指定插入模式的自动补全如何工作 |'confirm'| |'cf'| 询问如何处理未保存/只读的文件 |'conskey'| |'consk'| 直接从控制台读入键击 (只限于 MS-DOS) |'copyindent'| |'ci'| 使得 'autoindent' 使用已有的缩进结构 |'cpoptions'| |'cpo'| 设定 Vi-兼容的行为 |'cscopepathcomp'| |'cspc'| 显示路径多少部分 |'cscopeprg'| |'csprg'| 执行 cscope 的命令 |'cscopequickfix'| |'csqf'| 用 quickfix 窗口得到 cscope 的结果 |'cscopetag'| |'cst'| 用 cscope 处理标签命令 |'cscopetagorder'| |'csto'| 决定 ":cstag" 的搜索顺序 |'cscopeverbose'| |'csverb'| 增加 cscope 数据库时给出消息 |'debug'| 设为 "msg" 可以看到所有的错误消息 |'define'| |'def'| 查找宏定义所使用的模式 |'delcombine'| |'deco'| 在单独使用时删除组合用字符 |'dictionary'| |'dict'| 关键字自动补全所用的文件名 |'diff'| 当前窗口使用 diff 模式 |'diffexpr'| |'dex'| 得到 diff 文件所用的表达式 |'diffopt'| |'dip'| 使用 diff 模式的选项 |'digraph'| |'dg'| 允许插入模式时输入二合字母 |'directory'| |'dir'| 交换文件所用的目录名列表 |'display'| |'dy'| 如何显示文本的标志位列表 |'eadirection'| |'ead'| 'equalalways' 工作的方向 |'edcompatible'| |'ed'| 切换 ":substitute" 命令的标志位 |'encoding'| |'enc'| 内部使用的编码方式 |'endofline'| |'eol'| 文件最后一行写入换行符<EOL>
|'equalalways'| |'ea'| 自动使所有窗口大小相同 |'equalprg'| |'ep'| "=" 命令使用的外部命令 |'errorbells'| |'eb'| 有错误信息时响铃 |'errorfile'| |'ef'| QuickFix 模式的错误文件名 |'errorformat'| |'efm'| 错误文件行格式的描述 |'esckeys'| |'ek'| 插入模式下识别功能键 |'eventignore'| |'ei'| 忽略的自动命令事件 |'expandtab'| |'et'| 键入<Tab>
时使用空格 |'exrc'| |'ex'| 在当前目录里读入 .vimrc 和 .exrc |'fileencoding'| |'fenc'| 多字节文本的文件编码 |'fileencodings'| |'fencs'| 参与自动检测的字符编码 |'fileformat'| |'ff'| 文件输入输出使用的格式 |'fileformats'| |'ffs'| 参与自动检测的 'fileformat' 的格式 |'filetype'| |'ft'| 自动命令使用的文件类型 |'fillchars'| |'fcs'| 显示特殊项目所使用的字符 |'fkmap'| |'fk'| 波斯键盘映射 |'foldclose'| |'fcl'| 当光标离开时关闭折叠 |'foldcolumn'| |'fdc'| 设定指示折叠的列宽度 |'foldenable'| |'fen'| 设置为显示所用打开的折叠 |'foldexpr'| |'fde'| 当 'foldmethod' 为 "expr" 时使用的表达式 |'foldignore'| |'fdi'| 当 'foldmethod' 为 "indent" 时忽略的行 |'foldlevel'| |'fdl'| 当折叠级别高于此值时关闭折叠 |'foldlevelstart'| |'fdls'| 开始编辑文件的 'foldlevel' |'foldmarker'| |'fmr'| 当 'foldmethod' 为 "marker" 时的标志 |'foldmethod'| |'fdm'| 折叠的类型 |'foldminlines'| |'fml'| 折叠关闭所需的最少行数 |'foldnestmax'| |'fdn'| 最大折叠深度 |'foldopen'| |'fdo'| 打开折叠所使用的命令 |'foldtext'| |'fdt'| 显示关闭的折叠所用的表达式 |'formatoptions'| |'fo'| 自动格式化完成的方式 |'formatprg'| |'fp'| "gq" 命令使用的外部程序 |'gdefault'| |'gd'| 缺省打开 ":substitute" 的 'g' 标志 |'grepformat'| |'gfm'| 'grepprg' 的输出格式 |'grepprg'| |'gp'| ":grep" 使用的程序 |'guicursor'| |'gcr'| GUI: 光标形状和闪烁的设置 |'guifont'| |'gfn'| GUI: 使用的字体名 |'guifontset'| |'gfs'| GUI: 使用的多字节字体名 |'guifontwide'| |'gfw'| 双倍宽度字符的字体名列表 |'guiheadroom'| |'ghr'| GUI: 用于窗口装饰的像素空间 |'guioptions'| |'go'| GUI: 使用的部件和选项 |'guipty'| GUI: ":!" 命令尝试仿终端 |'helpfile'| |'hf'| 主帮助文件的完整路径名 |'helpheight'| |'hh'| 新帮助窗口的最小高度 |'helplang'| |'hlg'| 首选帮助语言 |'hidden'| |'hid'| 当缓冲区被放弃 (|abandon|) 时不卸载之 |'highlight'| |'hl'| 若干场合下设置高亮模式 |'hlsearch'| |'hls'| 高亮最近的匹配搜索模式 |'history'| |'hi'| 记住的命令行的行数 |'hkmap'| |'hk'| 希伯来语的键盘映射 |'hkmapp'| |'hkp'| 希伯来语的音节键盘映射 |'icon'| 让 Vim 设定窗口图标的文本 |'iconstring'| Vim 图标文本所用的字符串 |'ignorecase'| |'ic'| 搜索所用模式忽略大小写 |'imactivatekey'| |'imak'| 激活 X 输入方式的键击 |'imcmdline'| |'imc'| 开始编辑命令行时使用 IM |'imdisable'| |'imd'| 任何模式下不使用 IM |'iminsert'| |'imi'| 插入模式下使用 :lmap 或 IM |'imsearch'| |'ims'| 输入搜索模式时使用 :lmap 或 IM |'include'| |'inc'| 查找包含文件所使用的模式 |'includeexpr'| |'inex'| 处理包含文件行所使用的表达式 |'incsearch'| |'is'| 输入搜索模式时高亮匹配部分 |'indentexpr'| |'inde'| 得到一行的缩进位置的表达式 |'indentkeys'| |'indk'| 使用 'indentexpr' 时启动缩进的键 |'infercase'| |'inf'| 关键字自动补全的匹配调整大小写 |'insertmode'| |'im'| 开始编辑文件时进入插入模式 |'isfname'| |'isf'| 文件和路径名可用的字符 |'isident'| |'isi'| 标识符可用的字符 |'iskeyword'| |'isk'| 光键字可用的字符 |'isprint'| |'isp'| 可显示的字符 |'joinspaces'| |'js'| 连接命令在句号之后加两个空格 |'key'| 加密密钥 |'keymap'| |'kmp'| 键盘映射名 |'keymodel'| |'km'| 允许用键击开始/停止选择 |'keywordprg'| |'kp'| "K" 命令所使用的程序 |'langmap'| |'lmap'| 其他语言模式用的字母表字符 |'langmenu'| |'lm'| 菜单使用的语言 |'laststatus'| |'ls'| 当最近的窗口有状态行时提示 |'lazyredraw'| |'lz'| 执行宏时不重画 |'linebreak'| |'lbr'| 在空白处回绕长行 |'lines'| 显示的行数 |'linespace'| |'lsp'| 字符之间的像素行数 |'lisp'| 自动 lisp 缩进 |'lispwords'| |'lw'| 改变 lisp 缩进方式的词 |'list'| 显示<Tab>
和<EOL>
|'listchars'| |'lcs'| list 模式下显示用的字符 |'loadplugins'| |'lpl'| 启动时调入插件脚本 |'magic'| 改变搜索模式所用的特殊字符 |'makeef'| |'mef'| ":make" 所用的错误文件名 |'makeprg'| |'mp'| ":make" 命令所用的程序 |'matchpairs'| |'mps'| "%" 能匹配的字符对 |'matchtime'| |'mat'| 显示匹配括号的时间 (以十分之一秒计) |'maxfuncdepth'| |'mfd'| 用户函数的最大递归深度 |'maxmapdepth'| |'mmd'| 映射的最大递归深度 |'maxmem'| |'mm'| 单个缓冲区可用的最大内存 (以千字节计) |'maxmemtot'| |'mmt'| 所有缓冲区可用的最大内存 (以千字节计) |'menuitems'| |'mis'| 菜单可用的最大项目数 |'modeline'| |'ml'| 在文件开头或结尾识别模式行 |'modelines'| |'mls'| 检查模式行的行数 |'modifiable'| |'ma'| 可否修改文本 |'modified'| |'mod'| 缓冲区已被修改 |'more'| 全屏显示时暂停列表 |'mouse'| 允许使用鼠标点击 |'mousefocus'| |'mousef'| 键盘焦点追随鼠标点击 |'mousehide'| |'mh'| 输入时隐藏鼠标指针 |'mousemodel'| |'mousem'| 改变鼠标按钮的含义 |'mouseshape'| |'mouses'| 不同模式下改变鼠标指针的形状 |'mousetime'| |'mouset'| 鼠标双击之间的最大时间 |'nrformats'| |'nf'|CTRL-A
命令识别的数字格式 |'number'| |'nu'| 行前打印行号 |'osfiletype'| |'oft'| 操作系统特定的文件格式信息 |'paragraphs'| |'para'| 分隔段落的 nroff 宏 |'paste'| 允许粘贴文本 |'pastetoggle'| |'pt'| 切换 'paste' 的键盘代码 |'patchexpr'| |'pex'| 用于给文件打补丁的表达式 |'patchmode'| |'pm'| 保留文件最老的版本 |'path'| |'pa'| "gf" 等命令搜索用的目录列表 |'preserveindent'| |'pi'| 重排时保持原有的缩进结构 |'previewheight'| |'pvh'| 预览窗口的高度 |'previewwindow'| |'pvw'| 指定预览窗口 |'printdevice'| |'pdev'| 用于 :hardcopy 的打印机名 |'printencoding'| |'penc'| 用于打印的编码方式 |'printexpr'| |'pexpr'| 用于 :hardcopy 打印 PostScript 的表达式 |'printfont'| |'pfn'| 用于 :hardcopy 的字体名 |'printheader'| |'pheader'| 用于 :hardcopy 的页眉格式 |'printoptions'| |'popt'| 控制 :hardcopy 输出格式 |'readonly'| |'ro'| 禁止写入缓冲区 |'remap'| 允许映射可以递归调用 |'report'| 报告行改变的行数下限 |'restorescreen'| |'rs'| Win32: 退出时恢复屏幕 |'revins'| |'ri'| 字符插入会反向进行 |'rightleft'| |'rl'| 窗口为从右到左模式 |'rightleftcmd'| |'rlc'| 从右到左模式工作的编辑命令 |'ruler'| |'ru'| 在状态行里显示光标的行号和列号 |'rulerformat'| |'ruf'| 定制状态行格式 |'runtimepath'| |'rtp'| 用于运行时文件的目录列表 |'scroll'| |'scr'| 用CTRL-U
和CTRL-O
滚动的行 |'scrollbind'| |'scb'| 其他窗口滚动时滚动当前窗口 |'scrolljump'| |'sj'| 滚动所需的最少行数 |'scrolloff'| |'so'| 光标上下的最少行数 |'scrollopt'| |'sbo'| 'scrollbind' 的行为方式 |'sections'| |'sect'| 分隔小节的 nroff 宏 |'secure'| 在当前目录下以安全模式读入 .vimrc |'selection'| |'sel'| 使用何种选择方式 |'selectmode'| |'slm'| 何时使用选择模式而不是可视模式 |'sessionoptions'| |'ssop'| |:mksession| 的选项 |'shell'| |'sh'| 使用外部命令的外壳程序名字 |'shellcmdflag'| |'shcf'| 执行命令所使用的外壳的参数 |'shellpipe'| |'sp'| 把 ":make" 结果输出到错误文件的字符串 |'shellquote'| |'shq'| 括起外壳命令的字符 |'shellredir'| |'srr'| 把过滤命令的输出到暂时文件的字符串 |'shellslash'| |'ssl'| 外壳文件名使用正斜杠 |'shelltype'| |'st'| Amiga: 影响如何使用外壳 |'shellxquote'| |'sxq'| 类似于 'shellquote',但包括重定向 |'shiftround'| |'sr'| 缩进位数对齐到 shiftwidth 的整数倍列 |'shiftwidth'| |'sw'| 使用 (自动) 缩进的空格步数 |'shortmess'| |'shm'| 缩短信息长度的如果标志位 |'shortname'| |'sn'| 非 MS-DOS: 文件名假定为 8.3 字符 |'showbreak'| |'sbr'| 用于提示环绕行开始的字符串 |'showcmd'| |'sc'| 在状态行里显示 (部分) 命令 |'showfulltag'| |'sft'| 自动补全标签时显示完整的标签模式 |'showmatch'| |'sm'| 插入括号时短暂跳转到匹配的括号 |'showmode'| |'smd'| 在状态行上显示当前模式的消息 |'sidescroll'| |'ss'| 横向滚动的最少列数 |'sidescrolloff'| |'siso'| 光标左右最少的列数 |'smartcase'| |'scs'| 模式中有大写字母时不忽略大小写 |'smartindent'| |'si'| C 程序智能自动缩进 |'smarttab'| |'sta'| 插入<Tab>
时使用 'shiftwidth' |'softtabstop'| |'sts'| 编辑时<Tab>
使用的空格数 |'splitbelow'| |'sb'| 分割窗口时新窗口在当前窗口之下 |'splitright'| |'spr'| 新窗口在当前窗口之右 |'startofline'| |'sol'| 命令移动光标到行的第一个空白 (译者注
: 应为非空白) |'statusline'| |'stl'| 状态行的定制格式 |'suffixes'| |'su'| 多个匹配所忽略的后缀 |'suffixesadd'| |'sua'| 搜索文件时附加的后缀 |'swapfile'| |'swf'| 缓冲区是否使用交换文件 |'swapsync'| |'sws'| 如何和交换文件同步 |'switchbuf'| |'swb'| 设置切换到别的缓冲区时的行为 |'syntax'| |'syn'| 读入当前缓冲区的语法 |'tabstop'| |'ts'|<Tab>
在文件里使用的空格数 |'tagbsearch'| |'tbs'| 标签文件里用二分法查找 |'taglength'| |'tl'| 标签里的有效字符数 |'tagrelative'| |'tr'| 标签文件里的文件名是相对路径 |'tags'| |'tag'| 标签命令使用的文件名列表 |'tagstack'| |'tgst'| 把标签推入标签栈 |'term'| 终端名 |'termbidi'| |'tbidi'| 终端支持双向文本 |'termencoding'| |'tenc'| 终端使用的编码方式 |'terse'| 简化部分消息 |'textauto'| |'ta'| 已废止,用 'fileformats' |'textmode'| |'tx'| 已废止,用 'fileformat' |'textwidth'| |'tw'| 插入文本的最大宽度 |'thesaurus'| |'tsr'| 关键字自动补全所用的同义词字典 |'tildeop'| |'top'| 波浪命令 "~" 以操作符方式工作 |'timeout'| |'to'| 映射和键盘代码等待超时 |'timeoutlen'| |'tm'| 超时时间 (以毫秒计) |'title'| 让 Vim 设置窗口标题 |'titlelen'| 用于窗口标题的 'columns' 比例 |'titleold'| 旧的标题,用于退出时恢复 |'titlestring'| 用于 Vim 窗口标题的字符串 |'toolbar'| |'tb'| GUI: 工具栏显示何种项目 |'toolbariconsize'| |'tbis'| 工具栏图标的大小 (只适用于 GTK 2) |'ttimeout'| 映射等待超时 |'ttimeoutlen'| |'ttm'| 键盘代码超时时间 (以毫秒计) |'ttybuiltin'| |'tbi'| 在外部 termcap 之前先用内建的 termcap |'ttyfast'| |'tf'| 指示一个快速的终端连接 |'ttymouse'| |'ttym'| 鼠标产生代码的类型 |'ttyscroll'| |'tsl'| 滚动的最大行数 |'ttytype'| |'tty'| 'term' 的别名 |'undolevels'| |'ul'| 最多可以撤销的改变个数 |'updatecount'| |'uc'| 刷新交换文件所需的字符数 |'updatetime'| |'ut'| 刷新交换文件所需的毫秒数 |'verbose'| |'vbs'| 给出详细信息 |'viewdir'| |'vdir'| :mkview 存储文件的所在目录 |'viewoptions'| |'vop'| 指定 :mkview 保存的内容 |'viminfo'| |'vi'| 启动和退出时使用 .viminfo 文件 |'virtualedit'| |'ve'| 何时使用虚拟编辑 |'visualbell'| |'vb'| 使用可视铃声而不是响铃 |'warn'| 当缓冲区改变时,对外壳命令给出警告 |'weirdinvert'| |'wi'| 用于有特殊转换方法的终端 |'whichwrap'| |'ww'| 允许指定键跨越行边界 |'wildchar'| |'wc'| 用于通配符扩展的命令行字符 |'wildcharm'| |'wcm'| 类似于'wildchar' 但对映射情况也适用 |'wildignore'| |'wig'| 匹配这些模式的文件不会参与自动补全 |'wildmenu'| |'wmnu'| 命令行自动补全所使用的菜单 |'wildmode'| |'wim'| 'wildchar' 命令行扩展所用的模式 |'winaltkeys'| |'wak'| 何时窗口系统处理 ALT 键 |'winheight'| |'wh'| 当前窗口的最少行数 |'winfixheight'| |'wfh'| 打开/关闭窗口时保持窗口高度 |'winminheight'| |'wmh'| 任何窗口的最少行数 |'winminwidth'| |'wmw'| 任何窗口的最少列数 |'winwidth'| |'wiw'| 当前窗口的最少列数 |'wrap'| 长行环绕并在下一行继续 |'wrapmargin'| |'wm'| 可以开始环绕的右侧字符 |'wrapscan'| |'ws'| 搜索在文件尾回绕到文件头 |'write'| 允许写入文件 |'writeany'| |'wa'| 写入文件不需 "!" 强制 |'writebackup'| |'wb'| 覆盖文件时建立备份 |'writedelay'| |'wd'| 每个字符延迟 (以毫秒计) (用于调试)
*Q_ur* 撤销/重复 命令
|u| N u 撤销最近的 N 此改动
|CTRL-R| N CTRL-R
重复最近的 N 个被撤销的改动
|U| U 恢复最近被改动的行
*Q_et* 外部命令 |:shell| :sh[ell] 开启一个 shell |:!| :!{command}
通过一个 shell 执行命令{command}
|K| K 以 'keywordprg' 程序 (缺省: "man")查光标下的关键字
*Q_qf* Quickfix 命令 |:cc| :cc [nr] 显示错误 [nr] (缺省为同一错误) |:cnext| :cn 显示下一个错误 |:cprevious| :cp 显示上一个错误 |:clist| :cl 列出所有错误 |:cfile| :cf 从文件 'errorfile' 读入错误 |:cquit| :cq 退出不保存并返回错误代码 (至编译器) |:make| :make [args] 启动 make, 读入错误, 并跳转至第一个错误 |:grep| :gr[ep] [args] 执行 'grepprg' 程序以找出匹配并跳转至 第一个匹配
*Q_vc* 其他移动 |CTRL-L|CTRL-L
清除并重画屏幕 |CTRL-G|CTRL-G
显示当前文件名 (包括路径) 和光标位置 |ga| ga 以十进制,十六进制和八进制显示当前光标下的字符 的ASCII值 |g_CTRL-G| gCTRL-G
显示当前光标的列,行,以及字符位置 |CTRL-C|CTRL-C
在查找中: 中断查找 |dos-CTRL-Break|CTRL-Break
MS-DOS: 在查找中: 中断查找 |<Del>|<Del>
当输入一个次数时: 删除前一个输入字符 |:version| :ve[rsion] 显示版本信息 |:mode| :mode N MS-DOS: 置屏幕模式为 N (数字, C80, C4350, 等.) |:normal| :norm[al][!]{commands}
执行普通模式命令 |Q| Q 切换至 "Ex" 模式 |:redir| :redir >{file}
重定向信息至文件{file}
|:silent| :silent[!]{command}
沉默的执行{command}
命令 |:confirm| :confirm{command}
退出, 写入, 等., 询问关于未保存的改动 或者只读文件. |:browse| :browse{command}
打开/读入/写入 文件, 使用一个 文件选择对话框
*Q_ce* 命令行编辑 |c_<Esc>|<Esc>
放弃命令行 (如果 'wildchar' 通配符是<Esc>
, 键入两次) |c_CTRL-V|CTRL-V
{char}
按字面插入{char}
|c_CTRL-V|CTRL-V
{number}
输入10进制数表示的字符 (可达3个数位) |c_CTRL-K|CTRL-K
{char1}
{char2}
键入二合字母 (参见 |Q_di|) |c_CTRL-R|CTRL-R
{0-9a-z"%#:-=}
插入指定寄存器的内容 |c_<Left>|<Left>
/<Right>
光标左移/右移 |c_<S-Left>|<S-Left>
/<S-Right>
光标左移/右移一个单词 |c_CTRL-B|CTRL-B
/CTRL-E
光标移动至命令行行首/行尾 |c_<BS>|<BS>
删除光标前的字符 |c_<Del>|<Del>
删除光标下的字符 |c_CTRL-W|CTRL-W
删除光标前的单词 |c_CTRL-U|CTRL-U
删除所有字符 |c_<Up>|<Up>
/<Down>
回忆以当前命令行开始的较早/较晚的命令 |c_<S-Up>|<S-Up>
/<S-Down>
从命令行历史中回忆较早/较晚的命令 |:history| :his[tory] 显示命令行历史 上下文关联的命令行补全: |c_wildchar| 'wildchar' (缺省:<Tab>
) 根据光标前的命令行补全。如果有多个匹配,响铃 并显示第一个;继续 'wildchar' 将显示下一个 匹配。 |c_CTRL-D|CTRL-D
列出当前命令行所有可能的匹配 |c_CTRL-A|CTRL-A
插入当前命令行所有可能的匹配 |c_CTRL-L|CTRL-L
插入所有匹配当前模式的名字的最长的共同部分 |c_CTRL-N|CTRL-N
在 'wildchar' 之后存在多个匹配: 至下一匹配 |c_CTRL-P|CTRL-P
在 'wildchar' 之后存在多个匹配: 至上一匹配
*Q_ra* Ex 范围 |:range| , 分割两个行号 |:range| ; 同上, 但在解释第二个行号之前先至 光标与第一个行号代表的行 |:range|{number}
一个绝对行号 |:range| . 当前行 |:range| $ 本文件的最后一行 |:range| % 等同于 1,$ (整个文件) |:range| * 等同于 '<,'>
(可视区域) |:range| 't 标记 t 的位置 |:range| /{pattern}
[/] 下一个匹配{pattern}
的行 |:range| ?{pattern}
[?] 前一个匹配{pattern}
的行 |:range| +[num]
在前面的行号上加[num]
(缺省: 1) |:range| -[num]
从前面的行号里减[num]
(缺省: 1)
*Q_ex* 特殊 Ex 字符 |:bar| | 分割两个命令 (不适用于 ":global" 及 ":!") |:quote| " 开始注释 |:_%| % 当前文件名 (仅当期望文件名时) |:_#| #[num]
alternate file 文件名[num]
(仅当期望文件名时) 注: 以下四项 (译者注
: 原文如此) 以字面意思键入; 并非特殊键! |:<cword>|<cword>
光标下的 word (仅当期望文件名时) |:<cWORD>|<cWORD>
光标下的 WORD (仅当期望文件名时) |:<cfile>|<cfile>
光标下的文件名 (仅当期望文件名时) |:<afile>|<afile>
供自动命令使用的文件名 (仅当期望文件名时) |:<sfile>|<sfile>
在 ":source" 的文件里,该文件的文件名 (仅当期望文件名时) 于 "%", "#", "<cfile>
", "<sfile>
" 或 "<afile>
" 之后 |::p| :p 完整路径 |::h| :h 头 (除去文件名) |::t| :t 尾 (仅使用文件名) |::r| :r 根 (除去扩展名) |::e| :e 扩展名 |::s| :s/{pat}
/{repl}
/ 以{repl}
替换{pat}
*Q_ed* 编辑一个文件 无 !: 若当前缓冲已被改动则失败 有 !: 放弃任何对当前缓冲的改动 |:edit_f| :e[dit][!]{file}
编辑{file}
. |:edit| :e[dit][!] 重新载入当前文件 |:enew| :ene[w][!] 编辑一个无名的新缓冲 |:find| :fin[d][!]{file}
在 'path' 当中查找文件{file}
并编辑之 |CTRL-^| NCTRL-^
编辑 alternate file N (同 ":e #N"). |gf| gf 或 ]f 编辑光标下的文件名对应的文件 |:pwd| :pwd 显示当前目录名 |:cd| :cd [path] 将当前目录名变至 [path]. |:cd-| :cd - 回到上一次当前目录 |:file| :f[ile] 显示当前文件名及光标位置 |:file| :f[ile]{name}
置当前文件名为{name}
. |:files| :files 显示 alternate file 的文件名.
*Q_fl* 使用参数列表 |argument-list| |:args| :ar[gs] 显示参数列表, 当前文件显示在 "[]" 中 |:all| :all 或 :sall 为参数列表中的每个文件打开一个窗口 |:wn| :wn[ext][!] 写入文件并编辑下一个 |:wn| :wn[ext][!]{file}
写入{file}
并编辑下一个文件, 除非 文件{file}
已经存在. 使用 !, 覆盖 已存在的文件. |:wN| :wN[ext][!] [file] 写入文件并编辑前一个文件在当前窗口 新建窗口
|:argument| :argu[ment] N :sar[gument] N 编辑文件 N |:next| :n[ext] :sn[ext] 编辑下一个文件 |:next_f| :n[ext]{arglist}
:sn[ext]{arglist}
定义新的文件列表并编辑 其中的第一个 |:Next| :N[ext] :sN[ext] 编辑前一个文件 |:first| :fir[st] :sfir[st] 编辑第一个文件 |:last| :la[st] :sla[st] 编辑最后一个文件
*Q_wq* 写入和退出 |:w| :[range]
w[rite][!] 写入当前文件 |:w_f| :[range]
w[rite]{file}
写入至文件{file}
, 除非其已经存在 |:w_f| :[range]
w[rite]!{file}
写入至文件{file}
. 覆盖已存在的文件 |:w_a| :[range]
w[rite][!] >> 添加至当前文件 |:w_a| :[range]
w[rite][!] >>{file}
添加至{file}
. |:w_c| :[range]
w[rite] !{cmd}
执行命令{cmd}
,以[range]
代表的行 作为标准输入。 |:up| :[range]
up[date][!] 如果当前文件被改动则写入 |:wall| :wa[ll][!] 写入所有被改动的缓冲区 |:q| :q[uit] 退出当前缓冲, 除非已经做了改动. 如果没有其它 非帮助的缓冲, 退出 Vim |:q| :q[uit]! 强制退出当前缓冲, 放弃所有的改动. 如果没有其它 非帮助的缓冲, 退出 Vim |:qa| :qa[ll] 退出 Vim, 除非作了改动 |:qa| :qa[ll]! 退出 Vim, 废除所有改动 |:cq| :cq 退出,不写入文件并返回错误代码 |:wq| :wq[!] 写入当前文件并退出 |:wq| :wq[!]{file}
写入文件{file}
并退出 |:xit| :x[it][!] [file] 同 ":wq" 但是仅当有改动时写入 |ZZ| ZZ 同 ":x". |ZQ| ZQ 同 ":q!". |:xall| :xa[ll][!] 或 :wqall[!] 写入所有改动的缓冲并退出 |:stop| :st[op][!] 挂起 VIM 或开始一个新 shell. 如果设置了 'aw' 选项 并没有给出 [!] 则写入缓冲. |CTRL-Z|CTRL-Z
同 ":stop"
*Q_st* 启动 VIM |-vim| vim [options] 启动vim并开启一个空白缓冲 |-file| vim [options]{file}
.. 启动并编辑一个或多个文件 |--| vim [options] - 从标准输入读入文件 |-tag| vim [options] -t{tag}
编辑与标签{tag}
关联的文件 |-qf| vim [options] -q [fname] 以快速纠正模式开始编辑, 显示第一个错误. Vim 参数: |-gui| -g 启动 GUI (同时允许其他选项) |-+| +[num]
置光标于第[num]
行(缺省: 末行) |-+c| +{command}
载入文件后执行命令{command}
|-+/| +/{pat}
{file}
.. 置光标于第一次出现{pat}
处 |-v| -v Vi 模式, 以普通模式启动 ex |-e| -e Ex 模式, 以 Ex 模式启动 vim |-R| -R 只读模式, 隐含 -n |-m| -m 禁止修改 (重置 'write' 选项) |-b| -b 二进制模式 |-l| -l lisp 模式 |-A| -A 阿拉伯模式 (置位 'arabic') |-F| -F Farsi 模式 (置位 'fkmap' 和 'rightleft') |-H| -H Hebrew 模式 (置位 'hkmap' 和 'rightleft') |-V| -V Verbose, 给出更多信息 |-C| -C 兼容, 设置 'compatible' 选项 |-N| -N 不兼容, 复位 'compatible' 选项 |-r| -r 给出交换文件列表 |-r| -r{file}
.. 恢复中断的编辑 |-n| -n 不创建交换文件 |-o| -o[num]
打开[num]
个窗口 (缺省: 每个文件一个窗口) |-f| -f GUI: 前台进程, 不调用 fork Amiga: 不打开新窗口启动 VIM (比如,用于 mail) |-s| -s{scriptin}
先从文件{scriptin}
读入命令 |-w| -w{scriptout}
把键入的字符写进文件{scriptout}
(添加) |-W| -W{scriptout}
把键入的字符写进文件{scriptout}
(覆盖) |-T| -T{terminal}
设置终端名 |-d| -d{device}
Amiga: 打开{device}
作为控制台使用 |-u| -u{vimrc}
从文件{vimrc}
而非其它文件读入初始化命令 |-U| -U{gvimrc}
同上, 但用于启动 GUI 时 |-i| -i{viminfo}
从文件{viminfo}
而不是其它文件读入信息 |---| -- 结束选项, 其余的参数都将是文件名 |--help| --help 显示参数列表并退出 |--version| --version 显示版本信息并退出 |--| - 从标准输入读入文件
*Q_ac* 自动命令 |viminfo-file| 在启动时读入寄存器, 标记, 历史记录, 退出时存储这些信息. |:rviminfo| :rv[iminfo] [file] 从文件 [file] 读入 viminfo 信息 |:rviminfo| :rv[iminfo]! [file] 同上, 但覆盖已存在的信息 |:wviminfo| :wv[iminfo] [file] 向文件 [file] 中加入 viminfo 信息 |:wviminfo| :wv[iminfo]! [file] 向文件 [file] 中加入 viminfo 信息 |modeline| 当编辑一个文件时自动设定的选项 |modeline| vim:{set-arg}
: .. 置于文件的第一行或最后一行 (参见 'ml' 选项),{set-arg}
被用于 ":set" 命令的参数 |autocommand| 特定时间发生时自动执行命令 |:autocmd| :au 列出所有自动命令 |:autocmd| :au{event}
列出事件{event}
的所有自动命令 |:autocmd| :au{event}
{pat}
列出事件{event}
的所有自动命令 并使用文件匹配{pat}
|:autocmd| :au{event}
{pat}
{cmd}
为事件{event}
及文件匹配{pat}
加入 新的自动命令 |:autocmd| :au! 清除所有自动命令 |:autocmd| :au!{event}
清除所有事件{event}
的自动命令 |:autocmd| :au! *{pat}
清除所有文件匹配{pat}
的自动命令 |:autocmd| :au!{event}
{pat}
清除所有文件匹配{pat}
及事件{event}
的自动命令 |:autocmd| :au!{event}
{pat}
{cmd}
清除所有文件匹配{pat}
及事件{event}
的 自动命令并加入新的
*Q_wi* 多窗口命令 |CTRL-W_s|CTRL-W
s 或 :split 将窗口分割成两部分 |:split_f| :split{file}
分隔窗口并在其中一个编辑{file}
|:sfind| :sf[ind]{file}
分隔窗口, 从{path}
中找到文件{file}
并编辑之 |:vsplit| :vsplit{file}
同上,但垂直分割 |:vertical| :vertical{cmd}
使命令{cmd}
垂直分割 |CTRL-W_]|CTRL-W
] 分割窗口并跳转至光标下的标签 |CTRL-W_f|CTRL-W
f 分隔窗口并编辑光标下的文件 |CTRL-W_^|CTRL-W
^ 分隔窗口并编辑 alternate file |CTRL-W_n|CTRL-W
n 或 :new 创建新空白窗口 |CTRL-W_q|CTRL-W
q 或 :q[uit] 退出编辑并关闭窗口 |CTRL-W_c|CTRL-W
c 或 :cl[ose] 隐藏当前缓冲区并关闭窗口 |CTRL-W_o|CTRL-W
o 或 :on[ly] 使当前窗口成为唯一窗口 |CTRL-W_j|CTRL-W
j 跳转至下方窗口 |CTRL-W_k|CTRL-W
k 跳转至上方窗口 |CTRL-W_CTRL-W|CTRL-W
CTRL-W
移动光标至下方窗口 (折转) |CTRL-W_W|CTRL-W
W 移动光标至上方窗口 (折转) |CTRL-W_t|CTRL-W
t 跳转至顶端窗口 |CTRL-W_b|CTRL-W
b 跳转至底端窗口 |CTRL-W_p|CTRL-W
p 跳转至上一次激活的窗口 |CTRL-W_r|CTRL-W
r 向下旋转窗口 |CTRL-W_R|CTRL-W
R 向上旋转窗口 |CTRL-W_x|CTRL-W
x 将当前窗口与下一个窗口对调 |CTRL-W_=|CTRL-W
= 使所有窗口等高 |CTRL-W_-|CTRL-W
- 减少当前窗口高度 |CTRL-W_+|CTRL-W
+ 增加当前窗口高度 |CTRL-W__|CTRL-W
_ 设置当前窗口高度 (缺省: 很高)
*Q_bu* 缓冲区列表命令 |:buffers| :buffers 或 :files 列出所有已知的缓冲和文件名 |:ball| :ball 或 :sball 编辑所有的缓冲 |:unhide| :unhide 或 :sunhide 编辑所有载入的缓冲 |:badd| :badd{fname}
加入文件名{fname}
到列表中 |:bunload| :bunload[!] [N] 从内存中卸载缓冲 [N] |:bdelete| :bdelete[!] [N] 从内存中卸载缓冲 [N] 并从列表中 删除当前窗口内 新窗口内
|:buffer| :[N]buffer [N] :[N]sbuffer [N] 转到参数/缓冲 N |:bnext| :[N]bnext [N] :[N]sbnext [N] 转到后面的第 N 个参数/缓冲 |:bNext| :[N]bNext [N] :[N]sbNext [N] 转到前面的第 N 个参数/缓冲 |:bprevious| :[N]bprevious [N] :[N]sbprevious [N] 转到前面的第 N 个参数/缓冲 |:bfirst| :bfirst :sbfirst 转到第一个参数/缓冲 |:blast| :blast :sblast 转到最后一个参数/缓冲 |:bmodified| :[N]bmod [N] :[N]sbmod [N] 转到第 N 个被改动了的缓冲
*Q_sy* 语法高亮 |:syn-on| :syntax on 开始使用语法加亮 |:syn-off| :syntax off 停止使用语法加亮 |:syn-keyword| :syntax keyword{group-name}
{keyword}
.. 添加语法关键字项 |:syn-match| :syntax match{group-name}
{pattern}
... 加入语法匹配项 |:syn-region| :syntax region{group-name}
{pattern}
... 添加语法区域项 |:syn-sync| :syntax sync [ccomment | lines{N}
| ...] 设置语法加亮的同步方式 |:syntax| :syntax [list] 列出当前语法项 |:syn-clear| :syntax clear 清除所有语法信息 |:highlight| :highlight clear 清除所有加亮信息 |:highlight| :highlight{group-name}
{key}
={arg}
.. 为语法组{group-name}
设置加亮 |:filetype| :filetype on 开启文件类型侦测, 不包括 语法高亮 |:filetype| :filetype plugin indent on 开启文件类型侦测, 包括 包括自动缩进及设置
*Q_gu* GUI 命令 |:gui| :gui UNIX: 启动 GUI |:gui| :gui{fname}
.. 同上, 并编辑{fname}
.. |:menu| :menu 列出所有菜单 |:menu| :menu{mpath}
列出{mpath}
下的所有菜单 |:menu| :menu{mpath}
{rhs}
将{lhs}
加入菜单{mpath}
|:menu| :menu{pri}
{mpath}
{rhs}
同上, 并带有优先权{pri}
|:menu| :menu ToolBar.{name}
{rhs}
将{lhs}
加入工具栏 |:tmenu| :tmenu{mpath}
{text}
为菜单{mpath}
加入 tooltip |:unmenu| :unmenu{mpath}
删除菜单{mpath}
*Q_fo* 折叠 |'foldmethod'| set foldmethod=manual 手动折叠 set foldmethod=indent 按照缩进折叠 set foldmethod=expr 按照表达式 'foldexpr' 折叠 set foldmethod=syntax 按照语法区域折叠 set foldmethod=marker 按照标记 'foldmarkers' 折叠 |zf| zf{motion}
操作符: 手动定义一个折叠 |:fold| :{range}
fold 将范围{range}
包括的行定义为一个折叠 |zd| zd 删除光标下的一个折叠 |zD| zD 删除光标下的所有折叠 |zo| zo 打开光标下的折叠 |zO| zO 打开光标下的所有折叠 |zc| zc 关闭光标下的一个折叠 |zC| zC 关闭光标下的所有折叠 |zm| zm 折起更多: 减少 'foldlevel' |zM| zM 关闭所有折叠: 置 'foldlevel' 为0 |zr| zr 减少折叠: 增加 'foldlevel' |zR| zR 打开所有折叠: 置 'foldlevel' 为最大 |zn| zn 什么也不折叠: 重置 'foldenable' |zN| zN 正常折叠: 置 'foldenable' |zi| zi 反转 'foldenable' vim:tw=78:ts=8:ft=help:norl:
Generated by vim2html on 2006年 06月 24日 星期六 00:27:59 UTC