Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cwood/vim-django
vim-django run commands, create apps, and beyond
https://github.com/cwood/vim-django
Last synced: 12 days ago
JSON representation
vim-django run commands, create apps, and beyond
- Host: GitHub
- URL: https://github.com/cwood/vim-django
- Owner: cwood
- Created: 2012-06-06T02:06:00.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2015-03-23T04:44:57.000Z (over 9 years ago)
- Last Synced: 2024-09-17T01:12:36.664Z (about 2 months ago)
- Language: VimL
- Homepage: http://cwood.github.com/vim-django/
- Size: 556 KB
- Stars: 53
- Watchers: 4
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.markdown
Awesome Lists containing this project
README
Vim-Django
===============================================================================Vim-Django is a ViM script that helps manage a django app(s). It has wrapping's
for the ``django-admin.py``, your projects ``manage.py`` and some helper
commands. It also has some quick ways to find templates, edit related files
in a app, create new apps, and help manage django while using ViM.Installing
-------------------------------------------------------------------------------I recommend using pathogen or vundle to install this script. Else, you can
put the ``django.vim`` in the plug-ins directory. This script does require
python to be compiled in.You can check by doing :version and looking for `+python`
Example .vimrc
------------------------------------------------------------------------------
```vim
let g:django_projects = '~/Projects' "Sets all projects under project
let g:django_activate_virtualenv = 1 "Try to activate the associated virtualenv
let g:django_activate_nerdtree = 1 "Try to open nerdtree at the project root.
```Advanced search for projects
-------------------------------------------------------------------------------If you want more advanced searching for your projects or the default is to slow
for you to use. You can add more advanced filtering.For example I use a source directory in each of my projects. So I dont want it to
look through each of my virtualenv directorys, assets, or other project files.So what we can do is this
`g:django_projects_search_exp = '*/source'` this will let us look in the source
folder for each project. You can tweak this to be what you want. This just uses
the vim file path filters.Commands
-------------------------------------------------------------------------------``DjangoAdmin`` will run any command through the ``django-admin.py``
command.``DjangoManage`` will run the management command for the project
``DjangoProjectActivate`` will activate the project. This will go through
your ``g:django_projects`` and find all the django projects. It will also
set up ``DJANGO_SETTINGS_MODULE`` in your environment and the directory
where the settings file is stored in your ``PYTHONPATH``.``DjangoCreateApp`` will create a new app under your projects base. It will
autocomplete the path. It just needs is a python path such as,
``colinbits.apps.new_app`` this will be created in the folder colinbits,
apps, then run the ``django-admin.py`` to create the app there.Mappings
-------------------------------------------------------------------------------There are mappings for easily editing related django files while working on a
app. They all can be changed if you don't like how they are currently mapped.
There are mappings for (v|views), (u|urls), (a|admin),
and (t|tests). If you want to remap these you can call the function
``django#apps#edit('name_of_file.py', 'split')`` and it will open up
the file it fines in a split.Configuration
-------------------------------------------------------------------------------``g:django_projects`` is where your django projects are located.
``g:django_activate_virtualenv`` when true will activate a virtualenv that
starts with the same name. An example being. colinbits, is the site, and the
virtualenv being colinbits.com.Custom Activation of Projects
-------------------------------------------------------------------------------Since not everyone uses the default settings file vim-django will allow you to
add a custom function to activate any project. In your vimrc you can define a
function called ``ActivateProject`` it needs to accept one argument. From here
you can have it activate the project.Working with other Scripts
-------------------------------------------------------------------------------NERDTree:
``g:django_activate_nerdtree`` when set to 1 will launch nerdtree when
activating the django project.VirtualEnv:
``g:django_activate_virtualenv`` when set to 1 will activate the virtual
env that starts with the same name.Screen shots
-------------------------------------------------------------------------------![Mangement Command](http://i.imgur.com/NYd9d.png)
FAQ
------------------------------------------------------------------------------* Working with virtualenv's
* I actully reccomend installing [vim-virtualenv](https://github.com/jmcantrell/vim-virtualenv)