django-plus.vim


Ⅰ. 插件描述

:guitar: Improvements to the handling of Django related files in Vim

Ⅱ. 基本信息

创建日期:  2016-06-09
使用用户:  11
Github星:  128
插件作者:  Tommy Allen

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'tweekmonster/django-plus-vim'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'tweekmonster/django-plus-vim'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'tweekmonster/django-plus-vim'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/tweekmonster/django-plus.vim

Ⅳ. 文档说明

<p align="center">django-plus.vim</p>


Improvements to the handling of Django related files in Vim, some of which are
based on Steve Losh's htmldjango scripts.

Why?

Django support in Vim sucks.

What Sucks?Sucks?
Hard-coded htmldjango filetype for any .html fileYes
HTML indentationYes
QuerySet completionsYes
settings.py variable completionsYes
Template tag and filter completionsYes
Template file completion for {% include %} and {% extends %}Yes
Template file completion for rendering functionsYes

To help you understand the difference this plugin makes, I used science:

science

As you can see, one line goes up. However, the other line doesn't go up that

  1. It doesn't get any clearer than that.

Improvements

A summary of improvements to Django development in Vim.

General

  • Django is detected by searching parent directories for clues that indicate
    the current file is within a Django project.
  • b:is_django is set in any file that's within a Django project. This could
    be useful for your personal scripts.
  • b:is_django_settings is set if the file is settings.py or if the file is
    in the same directory as settings.py. (b:is_django will still be set)
  • Optionally append .django to the filetype for files found within a Django
    project.
  • If a Django project's manage.py script is found, completions will include
    your settings and templatetags found in INSTALLED_APPS.
  • g:django_filetypes takes a list of glob patterns to append the django
    filetype to matching files. e.g. *.xml will have the filetype

xml.django if the file is found in a Django project.

Python

  • Completions for Django settings when b:is_django_settings is present.
  • Completions for settings. when b:is_django is present in a .py file.
  • Completions for template files when using render(), get_template(),
    render_to_string(), render_to_response(), or template_name =.
  • QuerySets could be lurking anywhere. That's why QuerySet completions will be
    included for basically anything after a period.
  • If you are using Ultisnips, Django snippets are enabled and
    UltiSnips#FileTypeChanged() is called to ensure that :UltiSnipsEdit opens

django.snippets by default instead of python.snippets.

HTML

  • The filetype is set to htmldjango when editing HTML files.
  • Basic completions for template tags and filters.
  • Completions for template files when using {% extends %} or {% include %}.
  • Django tags are indented correctly, including custom tags.
  • matchit configuration for Django tags, including custom tags.
    Additionally, the cursor is placed at the beginning of the tag name.
  • Tag and variable blocks are highlighted within script tags, style tags, and
    HTML attributes.
  • If you are using Ultisnips, HTML snippets are enabled and
    UltiSnips#FileTypeChanged() is called to ensure that :UltiSnipsEdit opens

htmldjango.snippets by default instead of html.snippets.

添加新评论