1

我正在运行 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 并键入“fdate”,其中 fdate 应该扩展为 Django DateField,什么都不会发生(除了输入一个选项卡)。最初,当 UltiSnips 不工作时,我去了它的 Github 页面并阅读了似乎表明我应该添加 SirVer 插件的说明,所以我做了。即使那样,然后似乎也不起作用。我应该补充一点,您在上面看到的是我的整个 .vimrc 文件。此外,我创建了一个全新的 ~/.vim 目录,其中仅包含 Vundle 和 vim-snipmate 包,因此不应该有任何其他冲突。

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

4

2 回答 2

0

查看文档,尤其是在第 4.1.1 节如何加载片段UltiSnips-how-snippets-are-loaded

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

从文档:

UltiSnips 遍历片段定义目录以查找具有以下模式名称的文件:ft.snippets、ft_ .snippets 或 ft/,其中“ft”是当前文档的“文件类型”,“*”是 shell-像通配符匹配任何字符串,包括空字符串。

于 2019-12-15T08:45:36.117 回答
0

你试过 ":setfiletype htmldjango" 吗?或 ":selfiletype django" ( https://www.vim.org/scripts/script.php?script_id=1487 )

于 2018-06-17T11:59:52.990 回答