What's Ed?
This post is not intended as a general introduction to Ed however the essentials you may need to know are that:
- Ed was the text editor written by Ken Thompson while initially developing Unix.
- It is famed for its terseness, often giving no error messages or any form of communication to the user at all.
- With just a few commands you can probably match the speed you work in in your regular text editor.
A more general view of Ed can be found here.
Cheat Sheet
Note that X and Y are used to indicate user-given values.
FILE is used to indicate a user-given filename.
Single Commands
| Command | Description |
|---|---|
| (Any number) | Set current line to given value if line exists. |
| P | Display prompt. |
| p | Print current line. |
| n | Same as 'p' but print with line numbers. |
| H | Display verbose errors. |
| a | Append : insert new line and start editing. |
| i | Insert: start editing on line above current line. |
| c | Replace current line. |
| w | Write (save) file |
| z | Print as much of the file as will fit on the screen. Set current line as last visible line. |
| l | Place a $ at the end of a command to show where a line ends, useful for showing trailing white space. |
| u | Undo last command. |
| $ | Go to last line of file. |
| + | Go to next line. |
| - | Go to previous line. |
| = | Current line number. |
| . | Exit edit mode. |
| , | Symbol that indicates the entire file. |
| ; | Current line to end of file. |
Compound Commands
| Command | Description |
|---|---|
| wq | Write and quit. |
| ,p | Print whole file to screen. |
| ,n | Print current line with line number. |
| XmY | Move line X and insert it after line Y. |
| ,np | Print numbered listing of all lines. |
| XzY | Starting on line X, print the next Y lines. |
| Xd | Delete line X. |
| Xr FILE | Read a file in and insert it at line X. |
| X,Yj | Join line X to Y. |
| XtY | Copy line X to Y. |
| XW FILE | Append line X to another file. |
| X,YW FILE | Append lines X through Y to another file. |
| f X | When saving the file, save it as X (effectively a save as option). |
| e X | Switch to editing file X. |
| E X | Force switch to other file without checking if current file has been saved. |
| X,Yw FILE | Save the text between lines X and Y to another file. |
| !X | Run command X outside of ed and return. |
| !! | Run previous external command again. |
| r !X | Read external command X into the current file. |
| w !X | Write your current program to another file/program. This functions similarly to Unix Pipes. |
| kX | Assign a bookmark called X. Bookmarks can only be assigned to the current line. |
| 'X | Go to bookmark X. |
| /X/ | Search for X on current line. |
| g/X/p | Search for X on all lines and print matching lines. |
| g/X/np | Search for X on all lines and print matching lines with line numbers. |
| $= | Print last line number. |
| .= | Display current line number. |
Top comments (0)