| Both sides previous revisionPrevious revision | |
| tutorials:ed [2012/05/01 19:41] – Minor formatting memnon | tutorials:ed [2012/05/01 19:43] (current) – Add $ID tag memnon |
|---|
| | ====== 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. |
| | |
| | [[http://www.gnu.org/fun/jokes/ed.msg.html|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//][//command//]" |
| | |
| | //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//<sup>*</sup>]" | Edit //file//. | "E [//file//<sup>*</sup>]" | Edit, discarding changes. | |
| | | "($)r [//file//]" | Read and append. | "f [//file//]" | Set/display file name. | |
| | | "(1,$)w [//file//<sup>*</sup>]" | Write. | "(1,$)W [//file//<sup>*</sup>]" | Append to //file//. | |
| | | "(1,$)wq [//file//<sup>*</sup>]" | Write and quit. | |
| | |
| | | <sup>*</sup> | 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 ===== |
| | |
| | | "k//c//" | Mark line. | "($)=" | Display line number. | "h" | Last error text. | |
| | | "!//shell-command//" | Execute //shell-command//. | "q" | Quit. | "Q" | Quit, discarding changes. | |
| | |
| | $Id: ed.html,v 1.5 2007/10/09 00:27:11 papa Exp $ |