vim下使用UltiSnips
最近在学习Linux编程,相应的也在学vim。vim中的UltiSnips插件可以实现比一般的代码补全更为强大的效果。这里就记录一下吧。
UltiSnips安装、基础及进阶:https://vimzijun.net/2016/10/30/ultisnip/
-
C++中常用的一些、已经内置的snips
- inc:#include<xxx.h>,也就是引入c的库
- incc:#include
,引入C++的库 - main:主函数
-
自定义的snips
在
~/.vim/UltiSnips
文件夹中新建xx.snippets,xx表示你希望这些snips应用到的文件格式,如果是LaTex
的文件,那就是tex.snippets
,以此类推如果希望应用到所有的格式中就写all.snippets。在这些文件中定义snip的格式:
snippet 关键词 “说明” 设定 内容 endsnippet
设定如下:
b
代表只有关键词出现在行首的时候,才可以被展开A
代表自动展开w
代表可以展开这个 “词”,具体 “词” 的定义可以查看:help iskeyword
。直观感觉就是,这个关键词是单独的,和其他文字分开的。比如前后都是空格。i
代表可以忽略前后字节,直接展开关键词。(这个设定比w
要更松)
其他的还有 r
, s
, t
, m
等等,都可以通过这个命令在自带文档里找到:
:help ultisnip
之后只要在vim中输入关键词,再按下tab就能自动填充了。
更加进阶的内容请看上面大佬的博客