A text editor is a small program that has been developed specifically for writing and editing plain text. Plain text is any string (i.e., finite sequence of characters) that consists entirely of printable characters (i.e., human readable characters) and, optionally, a very few specific types of control characters (e.g., characters indicating a tab or the start of a new line). Characters are the basic symbols that are used to write or print a language. A text editor is distinguished from a word processor in that it has little or no document formatting capabilities. Among the formatting operations that are commonly performed with word processing programs are those related to margins, columns, colors, fonts, images and text styles (e.g., bold, italic and underlined). Consequently, text editors are usually much smaller (in terms of the program size) and simpler than word processors. Whereas the output of pure text editors is plain text only, word processors can also produce output in at least one binary format, and often in a number of binary formats. A binary format is one in which at least part of the data is in non-plain text form. Among the most most important applications for text editors are writing source code and changing configuration files. Source code is the version of a program as it is originally written (i.e., typed into a computer) by a human in plain text in any of numerous programming languages, some of the most popular of which are C, C++, Java, Perl, PHP, Python and Tcl/Tk. Text editors are also used by many web developers to directly write the HTML (hypertext markup language), XHTML (extensible HTML) and CSS (cascading style sheets) code for web pages rather than using specialized web development programs. Configuration files are plain text files that are used to establish and modify settings for the operating system and for application programs. Despite their relative simplicity, major differences exist among text editors. For example, some offer just the bare minimum of functionality, such as ed, while others, such as Emacs, include a number of advanced functions, ranging from spelling checkers to special features that optimize them for writing source code in specific programming languages. As is the case with many other types of programs, there are both command line (i.e., all-text mode) and GUI (graphical user interface) text editors. Each has its advantages and disadvantages. For example, many people find a text editor that operates in a GUI easier to work with. However, a command line text editor can be indispensable for situations in which a GUI text editor is not available, such as when repairing a damaged system or for specialized systems that do not use a GUI. Text editors are often provided along with operating systems or software development packages. For example, vi (or some variant of it) is included with virtually all Unix-like operating systems. gedit and/or kedit are are GUI text editors that are included with most Linux distributions. The basic text editor that is included with the Microsoft Windows operating systems is Notepad, and those for Macintosh are SimpleText (for the older versions) and TextEdit (for OS X). Created March 18, 2006. |