A text editor is a program for displaying, editing, and saving plain text documents with no formatting. Formatted documents are not considered text, and are displayed and edited with a word processor. Common examples of text editors are VI on Linux computers, Notepad on Windows computers, and WorldText on Macintosh computers. Often, text editors are used for creating simple text files, editing configuration files, and programming. Some text editors have more advanced features, specific to their intended audience. For example, Kate can browse remote filesystems, and Emacs is extensible to the point of including a web browser.
Different text editors naturally have different features. Some of the most common features, found in nearly all text editors, are spell checking, find and replace functions, and conversion between different encodings and newline formats. Text editors designed for use by programmers also feature Syntax Highlighting, bracket matching, automatic indentation, codefolding, and code completion. Advanced manipulation and checking of text in the form of human language is usually done in a word processor, not a text editor, so functions such as grammar checking and case conversion are not common.
In circles of computer geeks, there is an ongoing war over the title of "best" text editor. The two classic champions are VI and Emacs. As these two programs are fundamentally very different, they have catalyzed two very different schools of thought in regard to software development, especially on the subject of user interface. The familiar VI-vs-Emacs war has spawned other similar which-is-better wars, such as Linux-vs-BSD, Gnome-vs-KDE, and PHP-vs-ASP. Any mention of one product compared to its opponent is liable to start a flame war.