When I’m working on a Django project, I typically open all of my python files (settings.py, urls.py, views.py and models.py) in a single vim instance. All of my projects to date have been simple and only have a single app. When I start working, I fire up a terminal session and type:

vim urls.py settings.py {{app}}/views.py {{app}}/models.py

Being the lazy type, I just created a zsh function to do that for me:

djvim() {
vim settings.py urls.py ${1}/views.py ${1}/models.py ${1}/templates/*html
}

Now, all I have to type is “djvim {{app}}”. This will also grab all of my htmlish files, which I usually have on a separate virtual desktop altogether (obviously in a separate vim instance), but I’m going to try this approach and see if I like having everything all together. But the main point is less typing to start working on a Django app, which is a good thing.