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.

Edlin
Original author(s)Tim Paterson
Developer(s)Microsoft, IBM, Gregory Pietsch
Initial release1980 (1980)
Written inMS-DOS: x86 assembly language
Operating system86-DOS, IBM PC DOS, MS-DOS, FreeDOS, OS/2, Windows
TypeLine editor
LicenseMS-DOS: MIT
FreeDOS, ReactOS: GPL
86-DOS, PC DOS, OS/2, Windows: Proprietary commercial software
WebsiteEdlin

History

EDLIN.COM in IBM PC DOS 1.0
Using EDLIN for typing Japanese with the ATOK 8 input method editor, runnning on MS-DOS 3.3C for the PC-9800 series

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 line editor ED[4] — a distant relative of the UNIX ed text editor.

Microsoft acquired 86-DOS and 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[5] 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.

The FreeDOS version was developed by Gregory Pietsch.[6]

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)
*
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

FreeDOS Edlin

A GPL-licensed clone of Edlin that includes long filename support is available for download as part of the FreeDOS project. This runs on operating systems such as Linux or Unix as well as MS-DOS.[7]

gollark: ++event start
gollark: ```>>> class æ(int):... pass... >>> æ.__add__ = lambda a, b: "BEE UNITS">>> æ(1) + 2'BEE UNITS'```muahahaha.
gollark: ```>>> int.__add__ = lambda x, y: "bees"Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: can't set attributes of built-in/extension type 'int'```
gollark: ++delete <@!506482395269169153> <@!309787486278909952>
gollark: <@&727831344767303733>

See also

References

Further reading

  • Microsoft Operating System/2 User's Reference (PDF). Microsoft. 1987.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.