The general purpose tool I used for edition is vim… I know, this is not very friendly but to edit a couple of files, it’s fast to start, fast to edit, has completion and much more.
Yet, sometimes, a dedicated editor can add lots of value. I’ve tried many but Spyder is the best I’ve seen and I use it as soon as I have to edit several files at the same time, which means most of the time nowadays.
If you are used to vim, the spyder editor looks a bit poor but I’m sure this is going to be better and better. However, there are tools you will not have in vim:inline documentation that interprets docstring, pylint, ipython shell included and so on.
There was one missing functionality though that is the code completion. I thought it was missing but finally figured out that this can be achieved via Ctrl+Space. To have the completion, you may need to install the rope package. In a shell, just type:
pip install rope