Joe. For Python, C++, bash, and in days of wretched drudgery for which Larry Wall will surely answer for one day, Perl.
Ever since the days of Slackware CDs and the Linux 0.98 kernel, I have happily used joe, a Wordstar-like editor with features and size comparable to vim. It's carried me through maintaining 80,000 line C++ codebases and I do my Python work in it quite happily. There are plenty of macro and regex capabilities, block text marking, everything I need without the weight of an IDE.
There hasn't been a single vi or emacs proponent that could do anything in their editor of choice that I couldn't do, and probably quicker. It goes like this: "But it's installed by default on Solaris!" I get my editor with a quick compile, and I know enough vi and nano to get there. It's super fast to install it on any modern Linux distro. "But it'll work when the terminal settings break!" Not a reason to select an editor for heavy coding. "But you have to make sure you have got properly formatted EOL characters and manage your spaces!" I do it just as well as they do; we're not talking about Windows Notepad here. "But more people use it!" Pike off, imaginary objectors.
If it works and meets spec, you use the tools you get the best results in.