====== ed Cheat Sheet ======
ed:
* 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 [[wp>ed_(text_editor)| Wikipedia entry]]
* [[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//*]'' | 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 =====
| ''k//c//'' | Mark line. | ''($)='' | Display line number. | ''h'' | Last error text. |
| ''!//shell-command//'' | Execute //shell-command//. | ''q'' | Quit. | ''Q'' | Quit, discarding changes. |
----
[[http://sdf.org/?tutorials/ed|ed Cheat Sheet]] - traditional link (using [[wp>Revision_Control_System|RCS]])