目前,我在Vim中使用YouCompleteMe,然后在vundler中安装了UltiSnips和vim-snippets。UltiSnips和YouCompleteMe兼容并正常工作;但是,当我定义自己的代码段时,问题就出现了,因为它们是不被识别的。
我怀疑当我使用UltiSnipsEdit函数时会出现问题,因为它在我的主目录中而不是在.vim文件夹中创建了UltiSnips文件夹。例如,当我使用R脚本并使用UltiSnipsEdit时,它在/home/UltiSnips中创建r.snippets文件。然后我定义了一个片段来测试:
snippet test "Testing snip for R."
# snipp is working
endsnippet保存文件后,代码片段不会在YouCompleteMe列表中追加,也不会用:UltiSnipsExpandTrigger展开(在我的例子中是<c-l>)。
发布于 2016-05-29 20:09:59
将let g:UltiSnipsSnippetDirectories=[$HOME.'/.vim/UltiSnips']添加到.vimrc文件使其工作。
发布于 2017-04-14 19:50:20
我是一个新手UltiSnipes用户,我也遇到了同样的问题。它被记录在正式文档中(参见这里和搜索UltiSnips-代码片段-搜索路径)。
为了给您提供一个简短实用的解决方案,我自己的代码片段文件夹是~/..vim/myUltiSnips,我在.vimrc中添加了以下行
let g:UltiSnipsSnippetsDir="~/.vim/myUltiSnips"
let g:UltiSnipsSnippetDirectories = ['myUltiSnips']因此(在第一行中),您使用绝对路径声明代码段dir,然后(在第二行)将其添加到UltiSnips搜索的dir中,但这次使用的是相对于Vim的运行时路径的路径。
NOTA --我的配置适合我,但是,我不使用病毒片段。
来自官方文件:
片段定义文件存储在片段目录中。代码段目录必须是在“运行时路径”选项中定义的目录的子目录。 g:UltiSnipsSnippetsDir定义的目录私有片段定义文件存储在。 g:UltiSnipsSnippetDirectories定义了查找代码片段的目录。不要将此变量与前一个变量混在一起。
发布于 2016-08-21 19:31:53
让我们假设您必须使用目录:
其中涉及两个变量:
如果不在.vimrc g中定义这些变量,则UltiSnipsSnippetDirectories将被设置为UltiSnips (没有路径)。显然,只列出最终目录的名称就足够了,而不是完整的路径。
let g:UltiSnipsSnippetsDir="~/.vim/snips"
let g:UltiSnipsSnippetDirectories=["snips", "UltiSnips"]https://stackoverflow.com/questions/37511063
复制相似问题