将新文件类型添加到ultisnips

时间:2016-03-02 19:44:26

标签: vim ultisnips

我正在尝试添加cuda(.cu)文件。基本目标是首先使所有c,cpp片段可用于cu文件,然后添加其他支持。我测试的第一件事是在vim中设置文件类型

set ft:cpp.c

这是有效的。然后我尝试转到vim-snippets/snippetsvim-snippets/UltiSnips并尝试将cpp.snippets文件复制到cu.snippets。但是这不起作用(不起作用 - 未检测到片段 - )。我还添加了

au BufNewFile,BufRead *.cu set ft=cuda
au BufNewFile,BufRead *.cuh set ft=cuda

在我的.vimrc中。即使在此之后它也无法正常工作。

我还检查了UltiSnipsSnippetDirectories。它指向Ultisnips

我还尝试创建一个cu.snippets,它只是尝试扩展cpp(没有别的)。这也行不通。

作为一个附带问题:据我所知,https://github.com/honza/vim-snippets有两个带有片段的文件夹。基于snipmate的snippets/*和基于ultisnips的UltiSnips/* inc。但是,inc代码段仅在代码段目录中的c.snippets上提供(不在ultisnips中)。但奇怪的是c适用于root/build.gradle文件。我很肯定我没有使用snipmate。怎么会发生这种情况?我错过了什么。还是ultisnips可以理解这两种格式?

1 个答案:

答案 0 :(得分:0)

Ultisnips使用Vim的文件类型检测系统。因此,要查看Vim认为您使用:set filetype?命令的文件类型。

如果这不正确,您可以尝试

autocmd BufRead,BufNewFile *.cu setfiletype cuda

另外,我使用了Vundle,我使用了call vundle#rc(),但我需要将其更改为call vundle#begin()call vundle#end()