forked from ma6174/vim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquickref.cnx
executable file
·1307 lines (1196 loc) · 64.7 KB
/
quickref.cnx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
*quickref.txt* For Vim version 7.3. 最近更新: 2010年7月
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_st| 启动 Vim
|Q_di| 插入: 二合字母 |Q_ed| 文件编辑
|Q_si| 插入: 特殊插入 |Q_fl| 使用参数列表
|Q_de| 改动: 删除文本 |Q_wq| 写入与退出
|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| g0 至屏幕行第一个字符 (当行回绕时和 "0" 不同)
|g^| g^ 至屏幕行第一个非空白字符 (当行回绕时和 "^" 不同)
|g$| N g$ 至屏幕行最后一个字符 (当行回绕时和 "$" 不同)
|gm| gm 至屏幕行中点
|bar| N | 至第 N 列 (缺省: 1)
|f| N f{char} 至右边第 N 次出现 {char} 之处 (find)
|F| N F{char} 至左边第 N 次出现 {char} 之处 (Find)
|t| N t{char} 至右边第 N 次出现 {char} 之前 (till)
|T| N T{char} 至左边第 N 次出现 {char} 之前 (Till)
|;| 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 行,至第一个非空白字符
|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 个单词 (word)
|W| N W 向前 N 个空白隔开的字串 |WORD| (WORD)
|e| N e 向前至第 N 个单词词尾 (end)
|E| N E 向前至第 N 个空白隔开的字串 |WORD| 的词尾 (End)
|b| N b 向后 (反向,下同) N 个单词 (backward)
|B| N B 向后至第 N 个空白隔开的字串 |WORD| 的词尾 (Backward)
|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 个方法 (method) 的开始 (用于 Java)
|[M| N [M 向后至第 N 个方法的结束 (Method) (用于 Java)
|])| N ]) 向前至第 N 个未闭合的 ')'
|]}| N ]} 向前至第 N 个未闭合的 '}'
|]m| N ]m 向前至第 N 个方法 (method) 的开始 (用于 Java)
|]M| N ]M 向前至第 N 个方法的结束 (Method) (用于 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 至光标下标识符的局部声明 (goto declaration)
|gD| gD 至光标下标识符的全局声明 (goto Declaration)
|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 或多个前面的匹配原 * \*
匹配 1 或多个前面的匹配原 \+ \+
匹配 0 或 1 个前面的匹配原 \= \=
匹配 2 至 5 个前面的匹配原 \{2,5} \{2,5}
隔开两种可替换的匹配 \| \|
组合模式为单个匹配原 \(\) \(\)
|search-offset| 查找命令后可用的偏移量
[num] 向下 [num] 行,位于第一列
+[num] 向下 [num] 行,位于第一列
-[num] 向上 [num] 行,位于第一列
e[+num] 匹配结尾 (end) 右方 [num] 个字符处
e[-num] 匹配结尾 (end) 左方 [num] 个字符处
s[+num] 匹配启始 (start) 右方 [num] 个字符处
s[-num] 匹配启始 (start) 左方 [num] 个字符处
b[+num] 同上 s[+num] (助记: begin)
b[-num] 同上 s[-num] (助记: begin)
;{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| N CTRL-I 跳转到跳转表中第 N 个较晚的位置
|:ju| :ju[mps] 列出跳转表
------------------------------------------------------------------------------
*Q_vm* 其他动作
|%| % 找到本行中下一个括号、方括号、注释或
"#if"/"#else"/"#endif" 并移动至与其对称的位置
|H| N H 至窗口的第 N 行的第一个非空白字符处 (Home)
|M| M 至窗口的中间行的第一个非空白字符处 (Middle)
|L| N L 至窗口的第 N 行 (从下方算) 的第一个非空白字符处 (Last)
|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],当有多个匹配时从列表中选择
|:ltag| :lt[ag][!] [tag] 跳转到标签 [tag] 并把匹配的标签加到位置列表
|:tags| :tags 显示标签列表
|CTRL-T| N CTRL-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| N CTRL-E 窗口下滚 N 行 (缺省: 1) (Extra)
|CTRL-D| N CTRL-D 窗口下滚 N 行 (缺省: 1/2 窗口) (Downwards)
|CTRL-F| N CTRL-F 窗口下滚 N 页 (Forwards)
|CTRL-Y| N CTRL-Y 窗口上滚 N 行 (缺省: 1)
|CTRL-U| N CTRL-U 窗口上滚 N 行 (缺省: 1/2 窗口) (Upwards)
|CTRL-B| N CTRL-B 窗口上滚 N 页 (Backwards)
|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][!] 开始插入模式,当使用 [!] 时添加文本
|:startreplace| :startr[eplace][!] 开始替换模式,当使用 [!] 时从行末开始
在可视列块模式下:
|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| 0 CTRL-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| N CTRL-A 将光标之上或之后的数值增加 N
|CTRL-X| N CTRL-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>
将 N 行用命令 {command} 过滤
|v_!| {visual}!{command}<CR>
将高亮的行用命令 {command} 过滤
|:range!| :[range]! {command}<CR>
将范围 [range] 包括的行用命令 {command} 过滤
|=| N ={motion}
将动作覆盖的行用 'equalprg' 过滤
|==| N == 将 N 行用 'equalprg' 过滤
|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 选择 "一个单词" (a word)
|v_iw| N iw 选择 "内含单词" (inner word)
|v_aW| N aW 选择 "一个字串" (WORD)
|v_iW| N iW 选择 "内含字串"
|v_as| N as 选择 "一个句子" (sentence)
|v_is| N is 选择 "内含句子"
|v_ap| N ap 选择 "一个段落" (paragraph)
|v_ip| N ip 选择 "内含段落"
|v_ab| N ab 选择 "一个块" (从 "[(" 至 "])") (block)
|v_ib| N ib 选择 "内含块" (从 "[(" 到 "])")
|v_aB| N aB 选择 "一个大块" (从 "[{" 到 "]}") (Block)
|v_iB| N iB 选择 "内含大块" (从 "[{" 到 "]}")
|v_a>| N a> 选择 "一个 <> 块"
|v_i>| N i> 选择 "内含 <> 块"
|v_at| N at 选择 "一个标签块" (从 <aaa> 到 </aaa>) (tag)
|v_it| N it 选择 "内含标签块" (从 <aaa> 到 </aaa>)
|v_a'| N a' 选择 "一个单引号字符串"
|v_i'| N i' 选择 "内含单引号字符串"
|v_aquote| N a" 选择 "一个双引号字符串"
|v_iquote| N i" 选择 "内含双引号字符串"
|v_a`| N a` 选择 "一个反引号字符串"
|v_i`| N i` 选择 "内含反引号字符串"
------------------------------------------------------------------------------
*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 秒 (goto sleep)
------------------------------------------------------------------------------
*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!"
但仅作用于命令行模式 (Command-line)
|:imap| :imap/:iunmap/:inoremap
同 ":map!"/":unmap!"/":noremap!"
但仅作用于插入模式 (Insert)
|:nmap| :nmap/:nunmap/:nnoremap
同 ":map"/":unmap"/":noremap",
但仅作用于普通模式 (Normal)
|:vmap| :vmap/:vunmap/:vnoremap
同 ":map"/":unmap"/":noremap",
但仅作用于可视模式 (Visual)
|:omap| :omap/:ounmap/:onoremap
同 ":map"/":unmap"/":noremap"
但仅作用于操作符等待模式
(Operator-pending)
|:mapc| :mapc[lear] 清除普通及可视模式下的映射
|:mapc| :mapc[lear]! 清除插入及命令行模式下的映射
|:imapc| :imapc[lear] 清除插入模式下的映射
|:vmapc| :vmapc[lear] 清除可视模式下的映射
|:omapc| :omapc[lear] 清除操作符等待模式下的映射
|: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' 打开气泡表达式求值功能
'balloonexpr' 'bexpr' 计算气泡显示内容的表达式
'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' 命令行窗口的高度
'colorcolumn' 'cc' 高亮指定列
'columns' 'co' 显示屏幕的列数
'comments' 'com' 可以开始注释行的模式
'commentstring' 'cms' 注释的样板;用于折叠的标志
'compatible' 'cp' 尽可能做到与 Vi 兼容
'complete' 'cpt' 指定插入模式的自动补全如何工作
'completefunc' 'cfu' 插入模式补全使用的函数
'completeopt' 'cot' 插入模式补全使用的选项
'concealcursor' 'cocu' 是否隐藏光标所在行的可隐藏文本
'conceallevel' 'cole' 是否显示可隐藏文本
'confirm' 'cf' 询问如何处理未保存/只读的文件
'conskey' 'consk' 直接从控制台读入键击 (只限于 MS-DOS)
'copyindent' 'ci' 使得 'autoindent' 使用已有的缩进结构
'cpoptions' 'cpo' 设定 Vi-兼容的行为
'cryptmethod' 'cm' 文件写入时所用的加密方法
'cscopepathcomp' 'cspc' 显示路径多少部分
'cscopeprg' 'csprg' 执行 cscope 的命令
'cscopequickfix' 'csqf' 用 quickfix 窗口得到 cscope 的结果
'cscopetag' 'cst' 用 cscope 处理标签命令
'cscopetagorder' 'csto' 决定 ":cstag" 的搜索顺序
'cscopeverbose' 'csverb' 增加 cscope 数据库时给出消息
'cursorbind' 'crb' 光标移动时同时在其它窗口移动
'cursorcolumn' 'cuc' 高亮光标所在屏幕列
'cursorline' 'cul' 高亮光标所在屏幕行
'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' 显示关闭的折叠所用的表达式
'formatlistpat' 'flp' 识别列表头部的模式
'formatoptions' 'fo' 自动排版完成的方式
'formatprg' 'fp' "gq" 命令使用的外部程序
'formatexpr' 'fex' "gq" 命令使用的表达式
'fsync' 'fs' 文件写回后是否激活 fsync()
'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: ":!" 命令尝试仿终端
'guitablabel' 'gtl' GUI: 标签页定制的标签
'guitabtooltip' 'gtt' GUI: 标签页定制的工具提示
'helpfile' 'hf' 主帮助文件的完整路径名
'helpheight' 'hh' 新帮助窗口的最小高度
'helplang' 'hlg' 首选帮助语言
'hidden' 'hid' 当缓冲区被放弃 (|abandon|) 时不卸载之
'highlight' 'hl' 设置若干场合下的高亮模式
'hlsearch' 'hls' 高亮最近的匹配搜索模式
'history' 'hi' 记住的命令行的行数
'hkmap' 'hk' 希伯来语的键盘映射
'hkmapp' 'hkp' 希伯来语的音节 (phonetic) 键盘映射
'icon' 让 Vim 设定窗口图标的文本
'iconstring' Vim 图标文本所用的字符串
'ignorecase' 'ic' 搜索模式时忽略大小写
'imactivatekey' 'imak' 激活 X 输入方法 (X input method) 的键击
'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' 启动时调入插件脚本
'macatsui' Mac GUI: 使用 ATSUI 文本绘制
'magic' 改变搜索模式所用的特殊字符
'makeef' 'mef' ":make" 所用的错误文件名
'makeprg' 'mp' ":make" 命令所用的程序
'matchpairs' 'mps' "%" 能匹配的字符对
'matchtime' 'mat' 显示匹配括号的时间 (以十分之一秒计)
'maxcombine' 'mco' 显示的最大组合用字符数
'maxfuncdepth' 'mfd' 用户函数的最大递归深度
'maxmapdepth' 'mmd' 映射的最大递归深度
'maxmem' 'mm' 单个缓冲区可用的最大内存 (以千字节计)
'maxmempattern' 'mmp' 模式匹配使用的最大内存 (以千字节计)
'maxmemtot' 'mmt' 所有缓冲区可用的最大内存 (以千字节计)
'menuitems' 'mis' 菜单可用的最大项目数
'mkspellmem' 'msm' 在 |:mkspell| 压缩树前可用的内存
'modeline' 'ml' 在文件开头或结尾识别模式行
'modelines' 'mls' 模式行的检查行数
'modifiable' 'ma' 可否修改文本
'modified' 'mod' 缓冲区已被修改
'more' 全屏显示时暂停列表
'mouse' 允许使用鼠标点击
'mousefocus' 'mousef' 键盘焦点追随鼠标点击
'mousehide' 'mh' 输入时隐藏鼠标指针
'mousemodel' 'mousem' 改变鼠标按钮的含义
'mouseshape' 'mouses' 不同模式下改变鼠标指针的形状
'mousetime' 'mouset' 鼠标双击之间的最大时间
'mzquantum' 'mzq' MzScheme 线程的轮询间隔
'nrformats' 'nf' CTRL-A 命令识别的数字格式
'number' 'nu' 行前显示行号
'numberwidth' 'nuw' 行号使用的列数
'omnifunc' 'ofu' 文件类型特定补全使用的函数
'opendevice' 'odev' MS-Windows 上允许读/写设备
'operatorfunc' 'opfunc' |g@| 操作符调用的函数
'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 的页眉格式
'printmbcharset' 'pmbcs' 用于 :hardcopy 的 CJK 字符集
'printmbfont' 'pmbfn' 用于 :hardcopy 的 CJK 输出的字体名
'printoptions' 'popt' 控制 :hardcopy 输出格式
'pumheight' 'ph' 弹出窗口的最大高度
'quoteescape' 'qe' 字符串里使用的转义字符
'readonly' 'ro' 禁止写入缓冲区
'redrawtime' 'rdt' 'hlsearch' 和 |:match| 高亮的超时
'relativenumber' 'rnu' 每行前显示相对行号
'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' 使用外部命令的 shell 程序名字
'shellcmdflag' 'shcf' 执行命令所使用的 shell 的参数
'shellpipe' 'sp' 把 ":make" 结果输出到错误文件的字符串
'shellquote' 'shq' 括起 shell 命令的字符
'shellredir' 'srr' 把过滤命令的输出存到暂时文件的字符串
'shellslash' 'ssl' shell 文件名使用正斜杠
'shelltemp' 'stmp' shell 命令是否使用临时文件
'shelltype' 'st' Amiga: 影响如何使用 shell
'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' 在状态行上显示当前模式的消息
'showtabline' 'stal' 是否显示标签页行
'sidescroll' 'ss' 横向滚动的最少列数
'sidescrolloff' 'siso' 在光标左右最少出现的列数
'smartcase' 'scs' 模式中有大写字母时不忽略大小写
'smartindent' 'si' C 程序智能自动缩进
'smarttab' 'sta' 插入 <Tab> 时使用 'shiftwidth'
'softtabstop' 'sts' 编辑时 <Tab> 使用的空格数
'spell' 打开拼写检查
'spellcapcheck' 'spc' 定位句子尾部的模式
'spellfile' 'spf' |zg| 和 |zw| 保存单词的文件
'spelllang' 'spl' 拼写检查使用的语言
'spellsuggest' 'sps' 提供拼写校正建议的方法
'splitbelow' 'sb' 分割窗口时新窗口在当前窗口之下
'splitright' 'spr' 新窗口在当前窗口之右
'startofline' 'sol' 命令移动光标到行的第一个非空白
'statusline' 'stl' 状态行的定制格式
'suffixes' 'su' 多个匹配所忽略的后缀
'suffixesadd' 'sua' 搜索文件时附加的后缀
'swapfile' 'swf' 缓冲区是否使用交换文件
'swapsync' 'sws' 和交换文件同步的方式
'switchbuf' 'swb' 设置切换到别的缓冲区时的行为
'synmaxcol' 'smc' 寻找语法项目的最大列数
'syntax' 'syn' 读入当前缓冲区的语法
'tabstop' 'ts' <Tab> 在文件里使用的空格数
'tabline' 'tal' 终端标签页行的定制格式
'tabpagemax' 'tpm' |-p| 和 "tab all" 的最大标签页数
'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' 的别名
'undodir' 'udir' 保存撤销文件的位置
'undofile' 'udf' 把撤销信息写入一个文件里
'undolevels' 'ul' 最多可以撤销的改变个数
'undoreload' 'ur' 保存缓冲区重载撤销的最大行数
'updatecount' 'uc' 刷新交换文件所需的字符数
'updatetime' 'ut' 刷新交换文件所需的毫秒数
'verbose' 'vbs' 给出详细信息
'verbosefile' 'vfile' 消息写入的文件
'viewdir' 'vdir' :mkview 存储文件的所在目录
'viewoptions' 'vop' 指定 :mkview 保存的内容
'viminfo' 'vi' 启动和退出时使用 .viminfo 文件
'virtualedit' 've' 何时使用虚拟编辑
'visualbell' 'vb' 使用可视铃声而不是响铃
'warn' 当缓冲区改变时,对 shell 命令给出警告
'weirdinvert' 'wiv' 用于有特殊反转方法的终端
'whichwrap' 'ww' 允许指定键跨越行边界
'wildchar' 'wc' 用于通配符扩展的命令行字符
'wildcharm' 'wcm' 同 'wildchar',但对映射情况也适用
'wildignore' 'wig' 匹配这些模式的文件不会参与自动补全
'wildmenu' 'wmnu' 命令行自动补全所使用的菜单
'wildmode' 'wim' 'wildchar' 命令行扩展所用的模式
'wildoptions' 'wop' 指定如何完成命令行补全
'winaltkeys' 'wak' 何时窗口系统处理 ALT 键
'window' 'wi' CTRL-F 和 CTRL-B 滚动的行数
'winheight' 'wh' 当前窗口的最少行数
'winfixheight' 'wfh' 打开/关闭窗口时保持窗口高度
'winfixwidth' 'wfw' 打开/关闭窗口时保持窗口宽度
'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' 读入错误
|:cgetbuffer| :cgetb 类似于 :cbuffer 但不跳转到第一个错误
|:cgetfile| :cg 类似于 :cfile 但不跳转到第一个错误
|:cgetexpr| :cgete 类似于 :cexpr 但不跳转到第一个错误
|:caddfile| :caddf 从错误文件加入错误到当前 quickfix 列表
|:caddexpr| :cad 从表达式计算结果加入错误到当前 quickfix 列表
|:cbuffer| :cb 从缓冲区文本读入错误
|:cexpr| :cex 从表达式计算结果读入错误
|:cquit| :cq 退出不保存并返回错误代码 (至编译器)
|:make| :make [args] 启动 make,读入错误,并跳转到第一个错误
|:grep| :gr[ep] [args] 执行 'grepprg' 程序以找出匹配并跳转到首个匹配
------------------------------------------------------------------------------
*Q_vc* 其他移动
|CTRL-L| CTRL-L 清除并重画屏幕
|CTRL-G| CTRL-G 显示当前文件名 (包括路径) 和光标位置
|ga| ga 以十进制、十六进制和八进制显示当前光标下的字符
的 ASCII 值
|g8| g8 对 utf-8 编码: 显示光标所在字符的十六进制字节
序列
|g_CTRL-G| g CTRL-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} 输入十进制数表示的字符 (可达 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 范围