我想在编写C++时创建一些代码片段。
例如:
创建一个文件cpp.snippets。

priority -1
snippet exam
This is an example!
endsnippet

并将其放在〜/.vim/my-snippets/snippets/中。
然后,在〜/.vimrc中添加以下语句:
set runtimepath+=~/.vim/my-snippets/
let g:UltiSnipsSnippetsDir='~/.vim/my-snippets/'
let g:UltiSnipsSnippetDirectories=["snippets"]

但它不起作用,我该如何解决?

最佳答案

UltiSnips插件包括详细的文档。您是否阅读了以下帮助页面?

:help UltiSnips-snippet-search-path

更新:

当我阅读帮助部分时,显而易见的事情之一是,在UltiSnips中,不能在g:UltiSnipsSnippetDirectories中使用名称“snippets”,因为它是为snipMate兼容的代码段保留的。在下面的注释中共享的链接中不会发生这种情况,而是使用名称“my-snippets”。

我不使用UltiSnips,但是从文档中,我建议采用以下方法:
  • 不要设置g:UltiSnipsSnippetsDirg:UltiSnipsSnippetDirectories
  • 保留runtimepath+=配置。
  • 创建以下目录:~/.vim/my-snippets/UltiSnips
  • 将个人代码片段放在此新目录下。

  • 推理:
  • 默认情况下,UltiSnips搜索运行时路径下的所有UltiSnips目录,因此,如果使用此名称,则无需进行配置。
  • 尽管个人代码段需要runtime设置,但是如果使用插件管理器,则会自动维护此配置。
  • 最后一点允许安装包含代码片段的vim插件。例如,this插件包含snipMate和UltiSnips的各种代码片段,包括C++。
  • 10-06 06:44