I do a lot of programming. Way more than I like to even admit at times. There’s a lot of options out there, including Eclipse, vi/vim, emacs, etc… Eclipse, while being probably 2nd most popular next to vi/vim, is also way too much. If you were to program in Java its great, but 99% of my work now is in Python, and I want to make a mobile app I just use something like Phone Gap.
I’ve tried different writers, like KWrite, and used vim for a while with a plethora of plugins to make things even easier. However, I eventually discovered Sublime Text Editor. This program is like the Notepad++ of Linux editors as far as I care.
If you want extreme control, Sublime offers a good chunk of it but not to the extent of vim. The matter of this really is moot, I suppose, as what editor you use is extremely dependent on what you need, want, and how you have it set up. For me though its very nice, it also plays nicely with Git if you install a plugin for it.
For Python, I personally recommend STE because it has a lot of features you would need from vim right out of the box, but it also costs money too…