An amazing tool called Emacs.
GNU Emacs is an extensible, customizable text editor—and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing. The features of GNU Emacs include:
Content-sensitive editing modes, including syntax coloring, for a variety of file types including plain text, source code, and HTML. Complete built-in documentation, including a tutorial for new users. Full Unicode support for nearly all human languages and their scripts. Highly customizable, using Emacs Lisp code or a graphical interface. A large number of extensions that add other functionality, including a project planner, mail and news reader, debugger interface, calendar, and more. Many of these extensions are distributed with GNU Emacs; others are available separately.