Vim an alternative for Django IDE
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.
Each of the editors I used had their own advantages. Emacs was modeless and hackers not used to various modes in an editor would find it very comfortable. Not only that its language elisp is very powerful. But it just did not fit. Googling editors I found textmate and since I got my new macbook pro I thought I’d give it a shot. The HTML, CSS and Javascript detection was great and so was for Python. The concept of snippets was just too good, but moving around the code was not that efficient as Emacs.
During this I continued using vim for most of my work. The thing that annoyed most was the indentation. It would just constantly misalign up my inline javascripts and css.But it hindered not my usage. I must say I am glad that I continued. Its been a few months since I have played around with it the advantages are too good that I can bear with the small hiccups(some a bit larger)
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/.
Hey,
For the javascript indentation etc., have you considered using one of these?
http://www.vim.org/scripts/script.php?script_id=1491
http://www.vim.org/scripts/script.php?script_id=1840
There are many more of them, look around and experiment
regards,
Ankur
http://fedoraproject.org/wiki/User:Ankursinha
ankursworld
November 28, 2010 at 12:27 pm
I have not tried them out, my problem was inline javascript editing. As in a script embedded into a html file. This just messes the indents. I will try them out though. Thanks.
Ranjeev Satyajit
November 29, 2010 at 12:46 am