
---- 这是两年前写的一个小工具,是为了学习掌握 Vim 的补全模式,也是为了用起来方便。在那之前,我对 Vim 的补全功能还只是稍微了解,从没用过,因为补全功能默认的按键都是 emacs 式的,太蛋疼了,觉得这样还不如直接手敲。自动补全但是后来开始越来越多地写代码(我不是程序员,之前没写过多少),就觉得必须要熟悉 Vim 的补全功能,于是写了这个东东。它主要做两件事:
1: 把 Vim 的 15 种补全模式分成 5 组,映射到 <M-a> 到 <M-g> 5 个按键上,方便使用。好处有两个,一是不用去记 15 个按键组合(我是记不住),二是可以摆脱默认的那种 emacs 式的按键。
2: 在状态栏里做了一个补全模式状态显示器(可选,如下图),可以实时地显示补全模式的状态。不想要的话可以关闭,它就不会显示在状态栏里。
1. 关于 Vim 补全模式
---- Vim 一共提供了 15 种自动补全的模式(:help ins-completion)。其中有两种的补全列表内容与另外两种相同,只是排序不同,这 15 种模式:
K 模式 (Vim 默认: CTRL-X CTRL-K) -- 字典补全,查找字典文件中的匹配单词,组成补全列表
H 模式 (Vim 默认: CTRL-X CTRL-T) -- 分类补全,查找分类文件(thesaurus 文件)中的匹配单词,组成补全列表
S 模式 (Vim 默认: CTRL-X s) -- 拼写建议
1.2 Vim 牛人用的两种:
---- 自定义的,我也没用过:
O 模式 (Vim 默认: CTRL-X CTRL-O) -- 全能补全,由一个自定义函数生成补全列表
U 模式 (Vim 默认: CTRL-X CTRL-U) -- 自定义补全,也是由自定义函数生成补全列表
1.3 所有人都喜欢的四种:
---- 我用来应付 99% 的情况:
n 模式 (Vim 默认: CTRL-N) -- 关键字补全,查找 complete 选项指定文件中的匹配单词,组成补全列表
N 模式 (Vim 默认: CTRL-X CTRL-N) -- 关键字补全,查找当前 buffer 里的匹配单词,组成补全列表
另外两种: p 模式与 P 模式,分别与 n 模式和 N 模式相同,只是补全列表中候选词的排序相反。
1.4 程序员用的三种:
---- 我不是程序员,也没用过(悲催了,当初干嘛要写这个 :(...):
T 模式 (Vim 默认: CTRL-X CTRL-]) -- tag 补全,查找 tag 中的匹配单词,组成补全列表
I 模式 (Vim 默认: CTRL-X CTRL-I) -- 头文件补全,查找当前 buffer 和 include file 中的匹配单词,组成补全列表
D 模式 (Vim 默认: CTRL-X CTRL-D) -- 定义补全,查找当前 buffer 与 include file 中匹配的名称定义,组成补全列表
1.5 特殊语境下专用的三种:
---- 还好,偶尔用一用 ...
V 模式 (Vim 默认: CTRL-X CTRL-V) -- Vim 补全,查找 Vim 的命令名, 函数名等等,组成补全列表
F 模式 (Vim 默认: CTRL-X CTRL-F) -- 文件名补全,查找匹配的路径或文件名,组成补全列表
L 模式 (Vim 默认: CTRL-X CTRL-L) -- 整行补全,查找 complete 选项指定文件中匹配的整行内容,组成补全列表
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23055-1.html
美国佬既然自己送来了