我正在使用这些vim-snipmate的snippets插件。
我目前正在为Arduino创建一个代码段文件。我意识到c语言的所有片段对Arduino都有好处。
我不是只复制粘贴它们,而是考虑包含整个c文件,然后只添加Arduino特定部分。
所以我的问题是,是否可以将其他文件中的代码段包含在您的代码段文件中?
答案 0 :(得分:3)
(在搜索了snipmate插件的文档后,我找到了这个问题的答案)
我无法在另一个代码段文件中包含代码段文件,但我可以为某种文件类型添加多个代码段。我现在在我的.vimrc中声明了以下内容并且它可以正常工作。
" Add c snippets to Arduino
let g:snipMate = {}
let g:snipMate.scope_aliases = {}
let g:snipMate.scope_aliases['arduino'] = 'arduino,c'
我正在使用我创建的arduino snippets。
答案 1 :(得分:2)
@Sudar:你的方法很好,但如果你有另一个配置或lang后来没有必要,你的vimrc会膨胀。
只需在snipmate中创建arduino.snippets
,然后:set ft=c.arduino
。 Snipmate由于其文件类型
答案 2 :(得分:1)
你特别询问了snipmate,所以这可能有点不合适,但无论如何:还有一个名为UltiSnips的插件,与snipmate非常相似(带有一些额外的功能)。在UltiSnips的代码段文件中,您可以使用与您要求完全相同的extends语句。
答案 3 :(得分:0)
没有。您需要将这些片段抽取/粘贴到您的arduino.snippets文件中。
答案 4 :(得分:0)
将以下内容添加到$VIMRUNTIME/after/plugin/snipMate.vim
文件中:
call ExtractSnipsFile(g:snippets_dir.'arduino.snippets', 'c')
这将解析并初始化arduino.snippets
文件类型的.c
文件。
基本上它只是加载该文件的片段,并将它们添加到指定的文件类型中,在您的c
文件中。
有关使用ExtractSnipsFile
的帮助,请参阅:help ExtractSnipsFile
or see the Doc file on GitHub
编辑2018.03.14
可以使用UltiSnipsAddFiletypes
为同一文件类型加载多个代码段文件。
例如,如果您想在编辑.c
文件时加载.arduino
代码段,只需将以下行添加到ftplugins/arduino.vim
:
UltiSnipsAddFiletypes arduino.c