While I’ve mostly learned Python via ebooks (Python Pocket Reference, Learning Python, Head First Python) I’ve also picked up everything Django I’ve learned from the official docs on the dispatcher, the templating, and a few select articles. Particularly of interest to me as someone who knows/digs Ruby was this set of slides (and this page) comparing the two.
So now I get OOP in Python, understand decorators and docstrings, functions, inner functions/closures, lambdas and operator overloading, named vs positional arguments, and several of the built-in modules and functions are at least passingly familiar.
Thankfully vim seems to be intelligent enough to recognize Django templates even though they have a .html extension. As long as there are a couple lines with looping constructs or variables I’m good to go.
I have made several updates to my .vimrc and pathogen bundles lately, tinkered with tmux and console vim (sticking with MacVim for now) and am using hubflow and tig for additional tools in my git toolbelt at Gannett. Some of the new hotness in my vim arsenal:
- Multichange.vim – mostly a simplified way of doing `%s`, but handy
- CtrlP – finally tried this again and have switched from CommandT. It’s native vimscript, (CommandT isn’t), handles MRU and works in console for me
- transparent – didn’t realize gvim/MacVim supported this. Mine’s set to 10%
- wildignore – very useful while vimgrepping, using numerous plugins like CommandT or CtrlP. Be aware some plugins use this slightly differently (CtrlP)
- Fugitive – I’ve actually been using this a while but it’s truly shined lately with features like Gdiff for version comparison and manual merge conflict resolution, and branch name autocomplete when branch-hopping
- increment/decrement (
/ ) from start of line– didn’t realize these commands worked on the first number at or after the cursor, which is awesome for CSS work and so on
- tagbar – never really used ctags before, but tagbar has let me zip around nicely in unfamiliar files
As always, my .vim directory is on github if anyone wants to see what’s happening there.
Other passing interest bits: learning the basics of Grunt; working with a large, heavily-trafficked RequireJS/AMD/Backbone codebase finally; trying to improve my shell scripting knowledge.