tweekmonster / Django Plus.vim
Licence: mit
🎸 Improvements to the handling of Django related files in Vim
Stars: ✭ 145
Projects that are alternatives of or similar to Django Plus.vim
Visual Split.vim
Vim plugin to control splits with visual selections or text objects
Stars: ✭ 190 (+31.03%)
Mutual labels: neovim, vim-plugins
Tmux Complete.vim
Vim plugin for insert mode completion of words in adjacent tmux panes
Stars: ✭ 447 (+208.28%)
Mutual labels: neovim, vim-plugins
Vim Packager
Vim plugin manager that utilizes "jobs" and "pack" features.
Stars: ✭ 197 (+35.86%)
Mutual labels: neovim, vim-plugins
Bullets.vim
🔫 Bullets.vim is a Vim/NeoVim plugin for automated bullet lists.
Stars: ✭ 199 (+37.24%)
Mutual labels: neovim, vim-plugins
Vim Dadbod Completion
Database autocompletion powered by https://github.com/tpope/vim-dadbod
Stars: ✭ 163 (+12.41%)
Mutual labels: neovim, vim-plugins
Vim Dadbod Ui
Simple UI for https://github.com/tpope/vim-dadbod
Stars: ✭ 315 (+117.24%)
Mutual labels: neovim, vim-plugins
Targets.vim
Vim plugin that provides additional text objects
Stars: ✭ 2,114 (+1357.93%)
Mutual labels: neovim, vim-plugins
Tagbar
Vim plugin that displays tags in a window, ordered by scope
Stars: ✭ 5,322 (+3570.34%)
Mutual labels: neovim, vim-plugins
Evervim
A Modern, Powerful & Modular Vim Distribution
Stars: ✭ 568 (+291.72%)
Mutual labels: neovim, vim-plugins
Vim Plugins Profile
🕓 Profile Vim's plugins, generate awesome statistics and optimize (n)vim startup time
Stars: ✭ 508 (+250.34%)
Mutual labels: neovim, vim-plugins
Hot Reload.vim
A (Neo)vim plugin for Flutter to automatically hot reload the project every time a file is saved
Stars: ✭ 33 (-77.24%)
Mutual labels: neovim, vim-plugins
Context.vim
Vim plugin that shows the context of the currently visible buffer contents
Stars: ✭ 688 (+374.48%)
Mutual labels: neovim, vim-plugins
Vim Follow My Lead
Vim plugin for showing all your <Leader> mappings in a readable table including the descriptions.
Stars: ✭ 100 (-31.03%)
Mutual labels: neovim, vim-plugins
Django Treenode
probably the best abstract model / admin for your tree based stuff. 🌳
Stars: ✭ 142 (-2.07%)
Mutual labels: django
Jupytext.vim
Vim plugin for editing Jupyter ipynb files via jupytext
Stars: ✭ 142 (-2.07%)
Mutual labels: vim-plugins
Vim Bootstrap
Vim Bootstrap is a generator that provides a simple method of generating a configuration for vim / neovim.
Stars: ✭ 1,870 (+1189.66%)
Mutual labels: neovim
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 file |
Yes |
HTML indentation | Yes |
QuerySet completions |
Yes |
settings.py variable completions |
Yes |
Template tag and filter completions | Yes |
Template file completion for {% include %} and {% extends %}
|
Yes |
Template file completion for rendering functions | Yes |
To help you understand the difference this plugin makes, I used science:
As you can see, one line goes up. However, the other line doesn't go up that much. 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 issettings.py
or if the file is in the same directory assettings.py
. (b:is_django
will still be set) - Optionally append
.django
to thefiletype
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 inINSTALLED_APPS
. -
g:django_filetypes
takes a list of glob patterns to append thedjango
filetype to matching files. e.g.*.xml
will have the filetypexml.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.
whenb:is_django
is present in a.py
file. - Completions for template files when using
render()
,get_template()
,render_to_string()
,render_to_response()
, ortemplate_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 andUltiSnips#FileTypeChanged()
is called to ensure that:UltiSnipsEdit
opensdjango.snippets
by default instead ofpython.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
openshtmldjango.snippets
by default instead ofhtml.snippets
.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].