为什么dn的vin-snipmate UltiSnips不能正常工作?

时间:2017-07-11 15:01:07

标签: django vim vim-snipmate

我正在运行Vim 8.0.124,并且我已经安装了vim-snipmate插件,以便在我的Python和Django开发中使用。我按照说明创建了一个包含以下内容的.vimrc文件:

# ~/.vimrc
set nocompatible        " Required by Vundle
filetype off            " Required by Vundle

" Begin Vundle settings ==========================================================
"
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'VundleVim/Vundle.vim'
Plugin 'MarcWeber/vim-addon-mw-utils'
Plugin 'tomtom/tlib_vim'
Plugin 'garbas/vim-snipmate'
# Optional
Plugin 'SirVer/ultisnips'
Plugin 'honza/vim-snippets'

call vundle#end()
filetype plugin indent on
"
" End Vundle settings ==========================================================

" SnipMate
autocmd FileType python set ft=python.django
autocmd FileType html set ft=htmldjango.html

" UltiSnips
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<c-b>"
let g:UltiSnipsJumpBackwardTrigger="<c-z>"
let g:UltiSnipsEditSplit="vertical"

安装vim-snipmate包括创建这四个文件:

~/.vim/bundle/vim-snippets/snippets/django.snippets
~/.vim/bundle/vim-snippets/snippets/htmldjango.snippets
~/.vim/bundle/vim-snippets/UltiSnips/django.snippets
~/.vim/bundle/vim-snippets/UltiSnips/htmldjango.snippets

我有两个问题。首先,为什么UltiSnip Django片段不起作用?片段/ django.snippets中的片段有效,但UltiSnips django.snippets文件中的片段不起作用。如果我打开一个文件test.py并输入&#34; fdate&#34;其中fdate应扩展为Django DateField,没有任何反应(输入选项卡除外)。最初,当UltiSnips没有工作时,我去了它的Github页面并阅读说明,这似乎表明我应该添加SirVer插件,所以我做了。即便如此,那似乎也不起作用。我应该补充一点,你在上面看到的是我的整个.vimrc文件。另外,我创建了一个全新的〜/ .vim目录,它只包含Vundle和vim-snipmate包,所以不应该有任何其他冲突。

我的第二个不那么重要的问题是,当我查看任何这些片段文件时,大多数行都被折叠了。有什么方法可以配置Vim,这样当我打开任何这些.snippet文件时,所有的折叠都会打开吗?他们会更容易搜索。

2 个答案:

答案 0 :(得分:0)

您是否尝试使用&#34;:setfiletype htmldjango&#34; ?或者&#34 ;:selfiletype django&#34; (https://www.vim.org/scripts/script.php?script_id=1487

答案 1 :(得分:0)

看看文档,尤其是在4.1.1 How snippets are loaded UltiSnips-how-snippets-are-loaded

我遇到了类似的问题,我在$HOME/UltiSnips上为片段创建了单独的目录。我在其中创建了目录python,并在其中移动了文件python.snippetdjango.snippet。同样,您可以为其他语言创建目录,并为其他框架使用摘要。

从文档中

  

UltiSnips迭代   在代码段定义目录中查找名称为   以下格式:ft.snippets,ft_ .snippets或ft / ,其中“ ft”是   当前文档的“文件类型”,“ *”是类似shell的通配符   任何字符串,包括空字符串。

相关问题