Every Linux user that has used the GNOME desktop environment must have had at least an encounter with its default text editor, Gedit. You start it up, and it looks like a simple notepad type application with a toolbar added on top. However, don't let yourself fooled by that simple appearance. If you know how to customize this application, it can be modified to serve almost any text exiting purpose, and you can even create an IDE-like environment.
With Gedit, it's not the general appearance that counts, it's all the little details that make a great application. As a programmer, I know that simple things like auto indentation and syntax highlighting can make your job much more easier. Gedit's can do syntax highlighting for quite a large number of programming languages or file formats, over 70 in fact. Also, the customizable tab width makes it easy to structure your texts, and the option to fill tabs with spaces makes it so much friendly to many environments in which your files could end up. The line numbers make it easy to collaboratively edit text files like source code, and along with the jump to line function it provides a way to refer and return to a certain section of the document without scrolling through to it.
Many text editors have trouble opening files that were created on other platforms, or with specific encodings, and this can go as far as replacing a specific set of characters with jibberish, which can be very annoying. Gedit tries to detect the appropriate encoding for the file that is opened, and the in-built UTF-8 support means that you can use any type of characters that aren't in the default ANSI set without worrying about compatibility.
Modifying a file means that there is a risk of accidentally overwriting a section or, even worse, saving those unwanted modifications. Gedit has provisions for that too, with multiple Undo/Redo levels, automatic backup and even an autosave function which has customizable time intervals. The backup files are saved in the same directory like the originals and they only have a tilde ("~") appended to the file name. Unfortunately, most file browsers hide these files by default, so they are often left behind and they clobber up the filesystem.
If you feel that the default color scheme, black text on white background, isn't comfortable for your eyes, there are others that you can pick from. Unfortunately, defining a new color scheme isn't as simple, because it has to contain all the rules by which the syntax highlighting is done, so custom setting files have to be created.
By default, Gedit is a pretty useful text editor, but its real power lies in its plug-ins. They range from spell checking support and document statistics to integrating a terminal or a file browser right into the text editor. With the functions that this plug-ins can provide, you can turn Gedit into a programming-friendly IDE, automate certain tasks or keep tabs on the character, line, word or even byte count of your document.
If you feel stuck at any point, the application ships with minimal documentation, but on Gedit's website you will find a wiki with more comprehensive guides and even a keyboard shortcut list for handy reference. Moreover, if you need to continue your work on another platform, you will be happy to find out that you can take this great text editor with you, because Gedit can also work on Windows and MacOS X, saving you the hassle of getting used to a different application.
Here's a quick visual walkthrough of Gedit's different powers: