My favorite tool is Emacs.
Emacs provides an extensible and unified framework to access nice interfaces to several other tools. For instance, it allows you to:
Keep notes, maintain
TODOlists, plan projects, edit and automatically export documents to many formats (Org-mode).
Conveniently edit Python source code and, at the same time, send code regions to a Python shell, permitting a piece-by-piece interactive programming (Python mode).
Make the GDB debugger a user-friendly and effective tool when programming in C++ (GUD mode).
Use Git through a beautiful interface (Magit).
Edit LaTeX files through sophisticated packages that synchronize the text buffer with a PDF viewer, pretty-print mathematical expressions directly in the text buffer, automatically handle references and much more (Auctex).
Access a handy but powerful LISP interpreter anytime from any text buffer.
– Francesco Montanari, Postdoctoral researcher, cosmology, Helsinki.
Have you got a favourite tool you would like to tell us about? Please use this form to add a bit of detail and we will do the rest. You can read the background to these posts here, or see what other tools people have written about.