
A text editor is a type of
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
that edits
plain text
In computing, plain text is a loose term for data (e.g. file contents) that represent only characters of readable material but not its graphical representation nor other objects ( floating-point numbers, images, etc.). It may also include a lim ...
. An example of such program is "notepad" software (e.g.
Windows Notepad
Windows Notepad is a simple text editor for Microsoft Windows, Windows; it creates and edits plain text documents. It was first released in 1983 to commercialize the computer mouse in MS-DOS.
History
In May 1983, at the COMDEX computer expo in ...
). Text editors are provided with
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s and software development packages, and can be used to change files such as
configuration file
A configuration file, a.k.a. config file, is a computer file, file that stores computer data, data used to configure a software system such as an application software, application, a server (computing), server or an operating system.
Some applic ...
s, documentation files and
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
.
Plain text and rich text
There are important differences between plain text (created and edited by text editors) and
rich text (such as that created by
word processor A word processor (WP) is a device or computer program that provides for input, editing, formatting, and output of text, often with some additional features.
Early word processors were stand-alone devices dedicated to the function, but current word ...
s or
desktop publishing software).
Plain text exclusively consists of character representation. Each character is represented by a fixed-length sequence of one, two, or four bytes, or as a variable-length sequence of one to four bytes, in accordance to specific
character encoding
Character encoding is the process of assigning numbers to graphical character (computing), characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using computers. The numerical v ...
conventions, such as
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
,
ISO/IEC 2022,
Shift JIS
Shift JIS (also SJIS, MIME name Shift_JIS, known as PCK in Solaris contexts) is a character encoding for the Japanese language, originally developed by the Japanese company ASCII Corporation in conjunction with Microsoft and standardized as JIS ...
,
UTF-8
UTF-8 is a character encoding standard used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode Transformation Format 8-bit''. Almost every webpage is transmitted as UTF-8.
UTF-8 supports all 1,112,0 ...
, or
UTF-16. These conventions define many printable characters, but also
non-printing characters that control the flow of the text, such as
space
Space is a three-dimensional continuum containing positions and directions. In classical physics, physical space is often conceived in three linear dimensions. Modern physicists usually consider it, with time, to be part of a boundless ...
,
line break, and
page break. Plain text contains no other information about the text itself, not even the character encoding convention employed. Plain text is stored in
text file
A text file (sometimes spelled textfile; an old alternative name is flat file) is a kind of computer file that is structured as a sequence of lines of electronic text. A text file exists stored as data within a computer file system.
In ope ...
s, although text files do not exclusively store plain text. Since the early days of computers, plain text was (once by necessity and now by convention) generally displayed using a
monospace font
A monospaced font, also called a fixed-pitch, fixed-width, or non-proportional font, is a font whose letters and characters each occupy the same amount of horizontal space. This contrasts with Typeface#Proportion, variable-width fonts, where t ...
, such that horizontal alignment and columnar formatting were sometimes done using whitespace characters.
Rich text, on the other hand, may contain metadata, character formatting data (e.g.
typeface, size, weight and style), paragraph formatting data (e.g. indentation, alignment, letter and word distribution, and space between lines or other paragraphs), and page specification data (e.g. size, margin and reading direction). Rich text can be very complex. Rich text can be saved in
binary format (e.g.
DOC), text files adhering to a
markup language
A markup language is a Encoding, text-encoding system which specifies the structure and formatting of a document and potentially the relationships among its parts. Markup can control the display of a document or enrich its content to facilitate au ...
(e.g.
RTF or
HTML
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
), or in a hybrid form of both (e.g.
Office Open XML).
Text editors are intended to open and save text files containing either plain text or anything that can be interpreted as plain text, including the markup for rich text or the markup for something else (e.g.
SVG).
History

Before text editors existed, computer text was punched into
cards with
keypunch
A keypunch is a device for precisely punching holes into stiff paper cards at specific locations as determined by keys struck by a human operator. Other devices included here for that same function include the gang punch, the pantograph punch, ...
machines. Physical boxes of these thin cardboard cards were then inserted into a
card reader.
Magnetic tape
Magnetic tape is a medium for magnetic storage made of a thin, magnetizable coating on a long, narrow strip of plastic film. It was developed in Germany in 1928, based on the earlier magnetic wire recording from Denmark. Devices that use magnetic ...
,
drum and
disk card image files created from such card decks often had no line-separation characters at all, and assumed fixed-length 80- or 90-character records. An alternative to cards was
Punched tape
file:PaperTapes-5and8Hole.jpg, Five- and eight-hole wide punched paper tape
file:Harwell-dekatron-witch-10.jpg, Paper tape reader on the Harwell computer with a small piece of five-hole tape connected in a circle – creating a physical program ...
. It could be created by some
teleprinter
A teleprinter (teletypewriter, teletype or TTY) is an electromechanical device that can be used to send and receive typed messages through various communications channels, in both point-to-point (telecommunications), point-to-point and point- ...
s (such as the Teletype), which used special characters to indicate ends of records. Some early operating systems included batch text editors, either integrated with language processors or as separate utility programs; one early example was the ability to edit
SQUOZE source files for SCAT in the
SHARE Operating System.
The first interactive text editors were
"line editors" oriented to teleprinter- or
typewriter
A typewriter is a Machine, mechanical or electromechanical machine for typing characters. Typically, a typewriter has an array of Button (control), keys, and each one causes a different single character to be produced on paper by striking an i ...
-style terminals without displays. Commands (often a single keystroke) effected edits to a file at an imaginary insertion point called the "cursor". Edits were verified by typing a command to print a small section of the file, and periodically by printing the entire file. In some line editors, the cursor could be moved by commands that specified the line number in the file, text
strings (context) for which to search, and eventually
regular expression
A regular expression (shortened as regex or regexp), sometimes referred to as rational expression, is a sequence of characters that specifies a match pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
s. Line editors were major improvements over keypunching. Some line editors could be used by keypunch; editing commands could be taken from a deck of cards and applied to a specified file. Some common line editors supported a "verify" mode in which change commands displayed the altered lines.
When
computer terminal
A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. Most early computers only had a front panel to input or display ...
s with video screens became available, screen-based text editors (sometimes called just "screen editors") became common. One of the earliest full-screen editors was
O26, which was written for the operator console of the
CDC 6000 series
The CDC 6000 series is a discontinued family of mainframe computers manufactured by Control Data Corporation in the 1960s. It consisted of the CDC 6200, CDC 6300, #Versions, CDC 6400, #Versions, CDC 6500, CDC 6600 and #Versions, CDC 6700 computers, ...
computers in 1967. Another early full-screen editor was
vi. Written in the 1970s, it is still a standard editor on
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
and
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
operating systems. Also written in the 1970s was the
UCSD Pascal
UCSD Pascal is a Pascal programming language system that runs on the UCSD p-System, a portable, highly machine-independent operating system. UCSD Pascal was first released in 1977. It was developed at the University of California, San Diego (UC ...
Screen Oriented Editor, which was optimized both for indented source code and general text.
Emacs
Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
, one of the first
free and open-source software
Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
projects, is another early full-screen or real-time editor, one that was
ported to many systems. The 1977
Commodore PET was the first mass-market computer to feature a full-screen editor. A full-screen editor's ease-of-use and speed (compared to the line-based editors) motivated many early purchases of video terminals.
The core data structure in a text editor is the one that manages the string (sequence of characters) or list of
records that represents the current state of the file being edited.
While the former could be stored in a single long consecutive
array of characters,
the desire for text editors that could more quickly insert text, delete text, and undo/redo previous edits led to the development of more complicated sequence data structures.
A typical text editor uses a
gap buffer, a
linked list
In computer science, a linked list is a linear collection of data elements whose order is not given by their physical placement in memory. Instead, each element points to the next. It is a data structure consisting of a collection of nodes whi ...
of lines (as in
PaperClip
A paper clip (or paperclip) is a tool used to hold sheets of paper together, usually made of steel wire bent to a looped shape (though some are covered in plastic). Most paper clips are variations of the ''Gem'' type introduced in the 1890s or ...
), a
piece table, or a
rope
A rope is a group of yarns, Plying, plies, fibres, or strands that are plying, twisted or braided together into a larger and stronger form. Ropes have high tensile strength and can be used for dragging and lifting. Rope is thicker and stronger ...
, as its sequence data structure.
Types of text editors

Some text editors are small and simple, while others offer broad and complex functions. For example,
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
and Unix-like operating systems have the
pico editor (or a variant), but many also include the
vi and Emacs editors.
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
systems come with the simple
Notepad, though many people—especially programmers—prefer other
editors
Editing is the process of selecting and preparing written, visual, audible, or cinematic material used by a person or an entity to convey a message or information. The editing process can involve correction, condensation, organization, a ...
with more features. Under
Apple Macintosh
Mac is a brand of personal computers designed and marketed by Apple Inc., Apple since 1984. The name is short for Macintosh (its official name until 1999), a reference to the McIntosh (apple), McIntosh apple. The current product lineup inclu ...
's
classic Mac OS
Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Mac (computer), Macintosh family of personal computers by Apple Computer, Inc. from 1984 to 2001, starting with System 1 and end ...
there was the native
TeachText later replaced by
SimpleText in 1994, which was replaced in
Mac OS X
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
by
TextEdit, which combines features of a text editor with those typical of a word processor such as rulers, margins and multiple font selection. These features are not available simultaneously, but must be switched by user command, or through the program automatically determining the
file type.
Most word processors can read and write files in plain text format, allowing them to open files saved from text editors. Saving these files from a word processor, however, requires ensuring the file is written in
plain text
In computing, plain text is a loose term for data (e.g. file contents) that represent only characters of readable material but not its graphical representation nor other objects ( floating-point numbers, images, etc.). It may also include a lim ...
format, and that any
text encoding or
BOM settings will not obscure the file for its intended use. Non-
WYSIWYG
In computing, WYSIWYG ( ), an acronym for what you see is what you get, refers to software that allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed document, web ...
word processors, such as
WordStar, are more easily pressed into service as text editors, and in fact were commonly used as such during the 1980s. The default
file format
A file format is a Computer standard, standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary format, pr ...
of these word processors often resembles a markup language, with the basic format being plain text and visual formatting achieved using non-printing
control characters
In computing and telecommunications, a control character or non-printing character (NPC) is a code point in a character set that does not represent a written character or symbol. They are used as in-band signaling to cause effects other than ...
or
escape sequence
In computer science, an escape sequence is a combination of characters that has a meaning other than the literal characters contained therein; it is marked by one or more preceding (and possibly terminating) characters.
Examples
* In C and ma ...
s. Later word processors like
Microsoft Word
Microsoft Word is a word processor program, word processing program developed by Microsoft. It was first released on October 25, 1983, under the name Multi-Tool Word for Xenix systems. Subsequent versions were later written for several other platf ...
store their files in a
binary format and are almost never used to edit plain text files.
Some text editors can
edit unusually large files such as
log files or an entire
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
placed in a single file. Simpler text editors may just read files into the computer's main
memory
Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembe ...
. With larger files, this may be a slow process, and the entire file may not fit. Some text editors do not let the user start editing until this read-in is complete. Editing performance also often suffers in nonspecialized editors, with the editor taking seconds or even minutes to respond to keystrokes or navigation commands. Specialized editors have optimizations such as only storing the visible portion of large files in memory, improving editing performance.
Some editors are programmable, meaning, e.g., they can be customized for specific uses. With a programmable editor it is easy to automate repetitive tasks or, add new functionality or even implement a new application within the framework of the editor. One common motive for customizing is to make a text editor use the commands of another text editor with which the user is more familiar, or to duplicate missing functionality the user has come to depend on. Software developers often use editor customizations tailored to the programming language or development environment they are working in. The programmability of some text editors is limited to enhancing the core editing functionality of the program, but
Emacs
Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
can be extended far beyond editing text files—for web browsing, reading email, online chat, managing files or playing games and is often thought of as a Lisp execution environment with a
Text User Interface. Emacs can even be programmed to emulate
Vi, its rival in the traditional
editor wars of
Unix culture.
An important group of programmable editors uses
REXX
Rexx (restructured extended executor) is a high-level programming language developed at IBM by Mike Cowlishaw. Both proprietary and open-source software, open source Rexx interpreter (computing), interpreters exist for a wide range of comput ...
as a scripting language. These "orthodox editors" contain a "command line" into which commands and macros can be typed and text lines into which line commands and macros can be typed. Most such editors are derivatives of
ISPF/PDF EDIT
Edward Ma, known professionally as edIT, is an American electronic music producer and DJ based in Los Angeles. He is a member of the Glitch Mob.
History
After growing up in Boston, Edward Ma began his career as a DJ and got into music produ ...
or of
XEDIT
XEDIT is a visual editor for VM (operating system), VM/CMS using block-oriented terminal, block mode IBM 3270 Computer terminal, terminals. (Line-mode terminals are also supported.)
XEDIT is much more line-oriented than modern Personal compu ...
, IBM's flagship editor for
VM/SP through
z/VM. Among them are
THE
''The'' is a grammatical article in English, denoting nouns that are already or about to be mentioned, under discussion, implied or otherwise presumed familiar to listeners, readers, or speakers. It is the definite article in English. ''The ...
,
KEDIT, X2, Uni-edit, and
SEDIT.
A text editor written or customized for a specific use can determine what the user is editing and assist the user, often by
completing programming terms and showing
tooltip
The tooltip, also known as infotip or hint, is a common graphical user interface (GUI) element in which, when hoverbox, hovering over a screen element or component, a text box displays information about that element, such as a description of a ...
s with relevant documentation. Many text editors for software developers include source code
syntax highlighting and automatic
indentation to make programs easier to read and write. Programming editors often let the user select the name of an
include file
An include directive instructs a text file processor to replace the directive text with the content of a specified file.
The act of including may be logical in nature. The processor may simply process the include file content at the location of ...
,
function or
variable, then jump to its definition. Some also allow for easy navigation back to the original section of code by storing the initial cursor location or by displaying the requested definition in a
popup window or temporary buffer. Some editors implement this ability themselves, but often an auxiliary utility like
ctags is used to locate the definitions.
Typical features
* Find and replace – Text editors provide extensive facilities for searching and replacing strings of text, either individually, or groups of files in opened tabs or a selected folder. Advanced editors can use
regular expression
A regular expression (shortened as regex or regexp), sometimes referred to as rational expression, is a sequence of characters that specifies a match pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
s to search and edit text or code. Additional features may include optional
case sensitivity, a history of search terms for quick recall and
autocompletion
Autocomplete, or word completion, is a feature in which an application predicts the rest of a word a user is typing. In Android and iOS smartphones, this is called predictive text. In graphical user interfaces, users can typically press the t ...
, and listing multiple results in one place.
*
Cut, copy, and paste – most text editors provide methods to duplicate and move text within the file, or between files.
* Ability to handle
UTF-8
UTF-8 is a character encoding standard used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode Transformation Format 8-bit''. Almost every webpage is transmitted as UTF-8.
UTF-8 supports all 1,112,0 ...
encoded text.
*
Text formatting
Typesetting is the composition of text for publication, display, or distribution by means of arranging physical ''type'' (or ''sort'') in mechanical systems or '' glyphs'' in digital systems representing '' characters'' (letters and other ...
– Text editors often provide basic visual formatting features like
line wrap,
auto-indentation,
bullet list formatting using
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
characters,
comment formatting,
syntax highlighting and so on. These are typically only for display and do not insert formatting codes into the file itself.
*
Undo and redo – As with word processors, text editors provide a way to undo and redo the last edit, or more. Often—especially with older text editors—there is only one level of edit history remembered and successively issuing the undo command will only "toggle" the last change. Modern or more complex editors usually provide a multiple-level history such that issuing the undo command repeatedly will revert the document to successively older edits. A separate redo command will cycle the edits "forward" toward the most recent changes. The number of changes remembered depends upon the editor and is often configurable by the user.
* Ability to jump to a specified line number.
Advanced features
* Macro or procedure definition: to define new commands or features as combinations of prior commands or other macros, perhaps with passed parameters, or with nesting of macros.
* Profiles to retain options set by the user between editing session.
* Profile macros with names specified in, e.g., environment, profile, executed automatically at the beginning of an edit session or when opening a new file.
* Multi-file editing: the ability to edit multiple files during an edit-session, perhaps remembering the current-line cursor of each file, to insert repeated text into each file, copy or move text among files,
compare files side-by-side (perhaps with a tiled
multiple-document interface), etc.
* Multi-view editors: the ability to display multiple views of the same file, with independent cursor tracking, synchronizing changes among the windows but providing the same facilities as are available for independent files.
* Collapse/expand, also called
folding: the ability to temporarily exclude sections of the text from view. This may either be based on a range of line numbers or on some syntactic element, e.g., excluding everything between a BEGIN; and the matching END;.
* Column-based editing; the ability to alter or insert data at a particular column, or to shift data to specific columns.
*
Data transformation – Reading or merging the contents of another text file into the file currently being edited. Some text editors provide a way to insert the output of a command issued to the operating system's
shell
Shell may refer to:
Architecture and design
* Shell (structure), a thin structure
** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses
Science Biology
* Seashell, a hard outer layer of a marine ani ...
. Also, a case-shifting feature could translate to lowercase or uppercase.
*
Filtering – Some advanced text editors allow the editor to send all or sections of the file being edited to another utility and read the result back into the file in place of the lines being "filtered". This, for example, is useful for sorting a series of lines alphabetically or numerically, doing mathematical computations, indenting
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
, and so on.
*
Syntax highlighting – contextually highlights
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
,
markup language
A markup language is a Encoding, text-encoding system which specifies the structure and formatting of a document and potentially the relationships among its parts. Markup can control the display of a document or enrich its content to facilitate au ...
s,
config files and other text that appears in an organized or predictable format. Editors generally allow users to customize the colors or styles used for each language element. Some text editors also allow users to install and use
themes to change the
look and feel
In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes ...
of the editor's entire
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
.
* Syntax-oriented editors - some editors have support for the syntax of one or more languages, and allow operations in terms of syntactical unit, e.g., insert a new WHEN clause in a SELECT statement.
*
Extensibility
Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be t ...
- a text editor intended for use by programmers must provide some
plugin mechanism, or be
scriptable, so a programmer can customize the editor with features needed to manage individual software projects, customize functionality or
key bindings for specific
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s or
version control
Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code t ...
systems, or conform to specific
coding styles.
*
Cursor navigation may vary across text editors. For example, pressing
End twice may navigate to the end of a
wrapped line after one press navigated to the end of an on-screen row of text.
Block-oriented terminal
A computer terminal is an electronic or electromechanical computer hardware, hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. Most early computers only had a front panel to ...
s typically have dedicated cursor movement keys, as do keyboards on personal computers.
*
Command line - some editors, e.g.,
ISPF
In computing, Interactive System Productivity Facility (ISPF) is a software product for many historic IBM mainframe operating systems and currently the z/OS and z/VM operating systems that run on IBM mainframes. It includes a Text editor, screen e ...
,
XEDIT
XEDIT is a visual editor for VM (operating system), VM/CMS using block-oriented terminal, block mode IBM 3270 Computer terminal, terminals. (Line-mode terminals are also supported.)
XEDIT is much more line-oriented than modern Personal compu ...
, have a dedicated field on the screen for entering commands as opposed to text. Depending on the editor, the user may have to use cursor keys to switch between the command and text fields or the editor may interpret, e.g., specific function keys , as requests to switch.
* Line commands, also known as prefix commands or sequence commands - Some editors treat a file as an array of text lines with associated line numbers or sequence numbers, and have a distinct line number field for each text field. A line command is a string that the user types into a line number field and that the editor recognizes as a command operating on that specific line or block of lines, e.g., LC to translate a line to lower case, ))3 to shift a block right three columns. Some editors also support line macros, also known as prefix macros or sequence macros. Despite the name ''prefix command'', some editors allow the sequence field to appear after the text field.
* Text editors, especially
source-code editor
A source-code editor is a text editor program designed specifically for editing source code of computer programs. It may be a standalone application or it may be built into an integrated development environment (IDE).
Features
Source-code editor ...
s, often default to using a monospace font that clearly distinguishes between similar characters (
homoglyph
In orthography and typography, a homoglyph is one of two or more graphemes, character (computing), characters, or glyphs with shapes that appear identical or very similar but may have differing meaning. The designation is also applied to sequence ...
s) such as the colon and the semicolon.
[
Philipp Acsany]
"Choosing the Best Coding Font for Programming"
2023.
Specialized editors
Some editors include special features and extra functions, for instance,
*
Source code editors are text editors with additional functionality to facilitate the production of source code. These often feature user-programmable syntax highlighting and code navigation functions as well as coding tools or keyboard
macros similar to an HTML editor.
*
Folding editor
Code or text folding, or less commonly holophrasting, is a feature of some graphical user interfaces that allows the user to selectively hide ("fold") or display ("unfold") parts of a document. This allows the user to manage large amounts of text ...
s. This subclass includes so-called "orthodox editors" that are derivatives of Xedit. Editors that implement folding without programing-specific features are usually called outliners (see below).
*
Outliner
An outliner (or outline processor) is a specialized type of text editor (word processor) used to create and edit Outline (list), outlines, which are text files which have a tree structure or a tree view, for organization. Textual information is co ...
s. Also called tree-based editors, because they combine a hierarchical outline
tree view with a text editor. Folding (see above) can be considered a specialized form of outlining.
*
IDEs (integrated development environments) are designed to manage and streamline large programming projects. They are usually only used for programming as they contain many features unnecessary for simple text editing.
*
World Wide Web
The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
authors are offered a variety of
HTML editor
An HTML editor is a program used for editing HTML, the markup of a web page. Although the HTML markup in a web page can be controlled with any text editor, specialized HTML editors can offer convenience, added functionality, and organisation. Fo ...
s dedicated to the task of creating
web page
A web page (or webpage) is a World Wide Web, Web document that is accessed in a web browser. A website typically consists of many web pages hyperlink, linked together under a common domain name. The term "web page" is therefore a metaphor of pap ...
s. These include:
Dreamweaver,
KompoZer and
E Text Editor. Many offer the option of viewing a work in progress on a built-in
HTML rendering engine or standard
web browser
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
. However, most
web development is done in a
dynamic programming language
A dynamic programming language is a type of programming language that allows various operations to be determined and executed at runtime. This is different from the compilation phase. Key decisions about variables, method calls, or data types are ...
such as
Ruby
Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
or
PHP using a source code editor or IDE. The HTML delivered by all but the simplest static web sites is stored as individual
template files that are assembled by the software controlling the site and do not compose a complete HTML document.
* Mathematicians, physicists, and computer scientists often produce articles and books using
TeX
Tex, TeX, TEX, may refer to:
People and fictional characters
* Tex (nickname), a list of people and fictional characters with the nickname
* Tex Earnhardt (1930–2020), U.S. businessman
* Joe Tex (1933–1982), stage name of American soul singer ...
or
LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latices are found in nature, but synthetic latices are common as well.
In nature, latex is found as a wikt:milky, milky fluid, which is present in 10% of all floweri ...
in plain text files. Such documents are often produced by a standard text editor, but some people use specialized
TeX editors.
*
Collaborative editors allow multiple users to work on the same document simultaneously from remote locations over a network. The changes made by individual users are tracked and merged into the document automatically to eliminate the possibility of conflicting edits. These editors also typically include an
online chat
Online chat is any direct text-, audio- or video-based (webcams), one-on-one or one-to-many ( group) chat (formally also known as synchronous conferencing), using tools such as instant messengers, Internet Relay Chat (IRC), talkers and possi ...
component for discussion among editors.
*
Distraction-free editors provide a
minimalistic interface with the purpose of isolating the writer from the rest of the applications and operating system, thus being able to focus on the writing without distractions from interface elements like a
toolbar or
notification area.
Programmable editors can usually be enhanced to perform any or all of these functions, but simpler editors focus on just one, or, like
gPHPedit, are targeted at a single programming language.
See also
*
List of text editors
*
Comparison of text editors
*
Editor war
*
File viewer
A file viewer is a utility application software on operating systems, such as Linux, macOS, or Windows. The file viewer is responsible for user access of files located on a data storage device. File viewers allow the user to open and view cont ...
– does not change file, faster for very large files and can be more secure
*
Hex editor
A hex editor (or ''binary file editor'' or ''byte editor'') is a computer program that allows for manipulation of the fundamental Binary file, binary data that constitutes a computer file. The name 'hex' comes from 'hexadecimal', a standard numer ...
– used for editing binary files
*
Stream editor – used for non-interactive editing
*
Structure editor – any document editor that is cognizant of the document's underlying structure
*
WYSIWYG
In computing, WYSIWYG ( ), an acronym for what you see is what you get, refers to software that allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed document, web ...
– an acronym for What You See Is What You Get
*
Visual editor
A visual editor is computer software for editing ASCII, text files using a text user interface, textual or graphical user interface, graphical user interface that normally renders the content (text) in accordance with embedded markup code, e.g., H ...
– computer software for editing text files using a textual or graphical user interface
Notes
References
External links
Orthodox Editors as a Special Class of Advanced Editors discusses Xedit and its clones with an emphasis of folding capabilities and programmability
{{Authority control
Technical communication tools