Edlin
Edlin is a line editor, and the only text editor provided with early versions of IBM PC DOS,[1] MS-DOS and OS/2.[2] Although superseded in MS-DOS 5.0 and later by the full-screen MS-DOS Editor, and by Notepad in Microsoft Windows, it continues to be included in the 32-bit versions of current Microsoft operating systems.
Original author(s) | Tim Paterson |
---|---|
Developer(s) | Microsoft, IBM, Gregory Pietsch |
Initial release | 1980 |
Written in | MS-DOS: x86 assembly language |
Operating system | 86-DOS, IBM PC DOS, MS-DOS, FreeDOS, OS/2, eComStation, ArcaOS, Windows |
Type | Line editor |
License | MS-DOS: MIT FreeDOS, ReactOS: GPL 86-DOS, PC DOS, OS/2, Windows: Proprietary commercial software |
Website | Edlin |
History
Edlin was created by Tim Paterson in two weeks in 1980, for Seattle Computer Products's 86-DOS (QDOS)[3] based on the CP/M context editor ED,[4][5] itself a distant derivative of the Unix ed line editor.
Microsoft acquired 86-DOS and, after some further development, sold it as MS-DOS, so Edlin was included in v1.0–v5.0 of MS-DOS. From MS-DOS 6 onwards, the only editor included was the new full-screen MS-DOS Editor.
Windows 95, 98 and ME ran on top of an embedded version of DOS, which reports itself as MS-DOS 7. As a successor to MS-DOS 6, this did not include Edlin.
However, Edlin is included in the 32-bit versions of Windows NT[6] and its derivatives—up to and including Windows 10—because the NTVDM's DOS support in those operating systems is based on MS-DOS version 5.0. However, unlike most other external DOS commands, it has not been transformed into a native Win32 program. It also does not support long filenames, which were not added to MS-DOS and MS-Windows until long after Edlin was written.
Usage
There are only a few commands. The short list can be found by entering a ? at the edlin prompt.
When a file is open, typing L lists the contents (e.g., 1,6L
lists lines 1 through 6). Each line is displayed with a line number in front of it.
*1,6L 1: Edlin: The only text editor in early versions of DOS. 2: 3: Back in the day, I remember seeing web pages 4: branded with a logo at the bottom: 5: "This page created in edlin." 6: The things that some people put themselves through. ;-) *
The currently selected line has a *. To replace the contents of any line, the line number is entered and any text entered replaces the original. While editing a line pressing Ctrl-C cancels any changes. The * marker remains on that line.
Entering I (optionally preceded with a line number) inserts one or more lines before the * line or the line given. When finished entering lines, Ctrl-C returns to the edlin command prompt.
*6I
6:*(...or similar)
7:*^C
*7D
*L
1: Edlin: The only text editor in early versions of DOS.
2:
3: Back in the day, I remember seeing web pages
4: branded with a logo at the bottom:
5: "This page created in edlin."
6: (...or similar)
*
- i - Inserts lines of text.
- D - deletes the specified line, again optionally starting with the number of a line, or a range of lines. E.g.:
2,4d
deletes lines 2 through 4. In the above example, line 7 was deleted.
- R - is used to replace all occurrences of a piece of text in a given range of lines, for example, to replace a spelling error. Including the ? prompts for each change. E.g.: To replace 'prit' with 'print' and to prompt for each change:
?rprit^Zprint
(the ^Z represents pressing CTRL-Z). It is case-sensitive.
- S - searches for given text. It is used in the same way as replace, but without the replacement text. A search for 'apple' in the first 20 lines of a file is typed
1,20?sapple
(no space, unless that is part of the search) followed by a press of enter. For each match, it asks if it is the correct one, and accepts n or y (or Enter).
- P - displays a listing of a range of lines. If no range is specified, P displays the complete file from the * to the end. This is different from L in that P changes the current line to be the last line in the range.
- T - transfers another file into the one being edited, with this syntax: [line to insert at]t[full path to file].
- W - (write) saves the file.
- E - saves the file and quits edlin.
- Q - quits edlin without saving.
Scripts
Edlin may be used as a non-interactive file editor in scripts by redirecting a series of edlin commands.
edlin < script
See also
- List of DOS commands
- ed and ex, similar Unix line editors.
- 86-DOS
References
- "Disk Operating System" (PDF). Bitsavers.org. January 1982. Retrieved 24 January 2022.
- "OS/2 1.0". Os2museum.com.
- "A Short History of MS-DOS". Patersontech.com.
- "ED Utility". Shaels.net. Archived from the original on 20 June 2013. Retrieved 24 January 2022.
- "ED: A Context Editor for The CP/M Disk System". archive.org. 1978. Retrieved 8 May 2023.
- 16-Bit Applications Included with Windows NT, Microsoft.com
- "FreeDOS Package -- edlin (FreeDOS Base)". Ibiblio.org.
- "FreeDOS Edlin". Sourceforge.net. 3 March 2023.
Further reading
- Microsoft Operating System/2 User's Reference (PDF). Microsoft. 1987.