vim ultisnips补全问题应该如何完成配置,vimultisnips,ultisnips 安装


ultisnips 安装使用的 是Vundle

Plugin 'SirVer/ultisnips'Plugin 'honza/vim-snippets'

下面是我的配置

let g:UltiSnipsExpandTrigger = "<c-j>"let g:UltiSnipsJumpForwardTrigger = "<c-b>"let g:UltiSnipsJumpBackwardTrigger="<c-z>"

但是使用时却不能根据文件自动补全

.vim 目录结构为

├── bundle│ ├── Emmet.vim│ ├── Vundle.vim│ ├── ultisnips│ │ ├── COPYING.txt│ │ ├── ChangeLog│ │ ├── README.md│ │ ├── UltiSnips│ │ ├── ...│ │ ├── syntax│ │ └── utils│ └── vim-snippets│     ├── LICENSE│     ├── ...│     ├── UltiSnips│     └── snippets

谢谢

这个插件很简单,给你看我的设置好了:

NeoBundle 'SirVer/ultisnips'let g:UltiSnipsSnippetDirectories=['UltiSnips']let g:UltiSnipsSnippetsDir = '~/.vim/UltiSnips'let g:UltiSnipsExpandTrigger = '<Tab>'let g:UltiSnipsListSnippets = '<C-Tab>'let g:UltiSnipsJumpForwardTrigger = '<Tab>'let g:UltiSnipsJumpBackwardTrigger = '<S-Tab>'

哦,对了,我想起来一件事情。g:UltiSnipsSnippetDirectories 选项的值必须是文件夹名称(可以是多个),并且这个(些)文件夹必须存在于 runtimepath 中的某一项之下。比如说 ~/.vim 就是 runtimepath 中的一项。默认的文件夹 UltiSnips 会自动创建,如果你换了,那你必须保证这个文件夹是存在的。我看你换成了 snippets,如果你事先安装过 SnipMate,那么 snippets 才会存在,否则你得自行创建。g:UltiSnipsSnippetDirectories 选项的作用是指定 UltiSnips 的搜索路径,你找不到 snippets 的原因大概就是这样。

解释为什么错了真的很累,换个角度告诉你,如果你做对了是什么样子的:

有可能是因为你编译 vim 时同时开启了 python2 和 python3 的支持,在 .vimrc 设置一下插件SirVer/ultisnips 使用的 python 版本即可。

let g:UltiSnipsUsePythonVersion = 2

编橙之家文章,

评论关闭