My search for a Django IDE led me to stumble upon Vim. I have used Vim from the days of my RHCE training. To think of it I used it the very first time I used Linux. All the command line tweaking and editing of files that had to be done were shown in vi. Then my ignorant mind did not comprehend the ‘:’, esc and all. It just seemed so weird.
Years later as I became more proficient in using Linux I found vi to be the choice editor in bash. It was good as on any machine with a Linux it worked. During the same time I heard of Emacs and thought it was for a more elect crowd and did not venture into it. But for a few months now I have been looking for a good lean editor for my coding. I did not want to lean on the “cool” features of an IDE as I knew in the long run I would sticking to the IDE than learn any language. This led me to try Vi, Emacs, TextMate and a few others.
To mention a few of the good things:
- Navigating through the code is just great. w to move word by word, 3j to move 3 lines down and the list goes one.
- I love the search and replacement %s/hello/HELLO/g
- I can use Python to do a bit of scripting in vi (need not go through an entire process of learning a new language)
- Found snipmate, an alternative to Textmate’s sinppets.
- View code in split screen
- Run terminal embedded (though its not the best, it works fine)
- Opening of remote files via scp and rsync
During this time I have learnt this: it is not the editor that matters, each of the good ones have their advantages and disadvantages, but how you use them. Until we become proficient in using the editors we shall constantly be complaining about them. There are some fine editors (Emacs, Vim, Textmate, Notepad++), just find your fit and master it. Vi(/Vim) is my choice thought at times I keep finding myself using Textmate a bit.
Now for the django bits visit the django projects website which discusses a bit on how to customize vim to fit django. Hope I will have time to show you some cool tips on vim. Do follow me on twitter, I am writing tips for vim: http://twitter.com/satyajitranjeev/.