Both sides previous revisionPrevious revision | Last revisionBoth sides next revision |
ed_cheat_sheet [2021/03/25 20:56] – added pithy quote, organized peteyboy | ed_cheat_sheet [2023/07/01 00:19] – [ed Cheat Sheet] hc9 |
---|
====== 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//<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. | | |
| |
---- | |
[[http://sdf.org/?tutorials/ed|ed Cheat Sheet]] - traditional link (using [[wp>Revision_Control_System|RCS]]) | |
| |