User Tools

Site Tools


ed Cheat Sheet


  • ed is a small, powerful, line-oriented, command-line-interfaced text editor. All editors frustrate, but ed often amazes while others disappoint.
  • “If something goes wrong, ed is sometimes the only editor available. This is often the only time when it is used interactively.” –from its Wikipedia entry
  • ed, man! !man ed — ed is the standard text editor.

man ed for more information.

Start ed from your shell command line:

ed file

Edit file by entering ed commands with the following syntax:


range specifies the line or block of consecutive lines (syntax: from-line,to-line) to which command is applied. Default range is the current line except where noted below with a parenthesis preceding the command syntax. Lines are specified as follows:

n line n . current $ last 'c mark c
-[n] up n (default: 1) +[n] down n (default: 1) , 1,$ ; .,$
?re? previous regexp match /re/ next regexp match

Input commands

a Append after. c Change range. i Insert before. . End input mode.

Edit commands

d Delete. s/re/s/[g|n][p] Substitute.
m[line] Move after line. t[line] Copy after line.
(.,+)j Join lines. u Undo.
(1,$)g/re/cmds Perform cmds for all matching lines. (1,$)v/re/cmds Perform cmds for all non-matching lines.

File commands

e [file*] Edit file. E [file*] Edit, discarding changes.
($)r [file] Read and append. f [file] Set/display file name.
(1,$)w [file*] Write. (1,$)W [file*] Append to file.
(1,$)wq [file*] Write and quit.
* In place of file, specify “! shell-command” to read/write text to shell-command standard output/input.

Display commands

p List lines. l … with unprintables. n … with numbers.
(+)z[lines] Scroll. (+)null p

Other commands

kc Mark line. ($)= Display line number. h Last error text.
!shell-command Execute shell-command. q Quit. Q Quit, discarding changes.

ed Cheat Sheet - traditional link (using RCS)

ed_cheat_sheet.txt · Last modified: 2023/07/01 00:20 by hc9