我想在编写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"]
但它不起作用,我该如何解决?
答案 0 :(得分:12)
UltiSnips插件包含详细的文档。您是否阅读了以下帮助页面?
:help UltiSnips-snippet-search-path
<强>更新强>
当我阅读帮助部分时,其中一个显而易见的事情是,在UltiSnips中,名称“snippets”无法在g:UltiSnipsSnippetDirectories
中使用,因为它是为snipMate兼容的代码段保留的。这不会发生在下面评论中共享的链接中,而是使用名称“my-snippets”。
我不使用UltiSnips,但从文档中我建议采用以下方法:
g:UltiSnipsSnippetsDir
或g:UltiSnipsSnippetDirectories
。runtimepath+=
配置。~/.vim/my-snippets/UltiSnips
。推理:
UltiSnips
目录,因此如果使用此名称,则不需要进行任何配置。runtime
设置,但如果使用插件管理器,则会自动维护此配置。答案 1 :(得分:0)
我对此非常悲痛。对于那些不想遭受头痛的人,这里有一个答案供将来参考。
我在samba共享上提供了共享.vimrc
。 Windows gViM和ViM都使用此文件。
我在L:
下安装了一个samba共享。请注意,我实际上必须使用POSIX作为路径,而不是Windows反斜杠\
,尽管它是 Windows的路径。
if has('win32') || has('win64') "If gVim under Windows"
let g:UltiSnipsSnippetDirectories=["L:/.vim/custom_snippets"]
endif
我的终端会打开xterm-256color
以获取更多颜色,但您可以与xterm
进行交换。这里的路径可以正确扩展~
,因为这是我的``.vim`所在的真实主目录。
if $TERM == "xterm-256color"
let g:UltiSnipsSnippetDirectories=["~/.vim/custom_snippets"]
endif
你不需要任何!以下更改 NOT 必要:
"let g:UltiSnipsSnippetDirectories=["custom_snippets"]
"let g:UltiSnipsSnippetsDir="~/.vim/snippets_custom/"
然而,尽管所有路径都正常工作, Putty仍未正确传递Tab键或控制键。 我在文件类型环境:UltiSnipsEdit
中使用set ft=tex
对路径进行了测试,并且我按照~/.vim/snippets_custom/tex.snippets
进行了测试(在Windows上和我的gvim中) unix console)。
在Putty中启用可能很有用
答案 2 :(得分:0)
如果您使用的是def __str__(self):
return str(self.get_user)
插件(UltiSnips),则只需执行sirver/ultisnips
命令即可打开当前语言/文件类型的自定义摘录文件。