|
|
1.1 ! root 1: .\" @(#)e1 6.1 (Berkeley) 5/22/86 ! 2: .\" ! 3: .nr PS 9 ! 4: .nr VS 11 ! 5: .if t .2C ! 6: .SH ! 7: Introduction ! 8: .PP ! 9: .ul ! 10: Ed ! 11: is a ``text editor'', that is, an interactive program ! 12: for creating and modifying ``text'', ! 13: using directions provided by a user at ! 14: a terminal. ! 15: The text is often a document ! 16: like this one, ! 17: or a program ! 18: or perhaps data for a program. ! 19: .PP ! 20: This introduction is meant to simplify learning ! 21: .ul ! 22: ed. ! 23: The recommended way to learn ! 24: .ul ! 25: ed ! 26: is to read this document, ! 27: simultaneously using ! 28: .ul ! 29: ed ! 30: to follow the examples, ! 31: then to read the description in section I of the ! 32: .ul ! 33: .UC UNIX ! 34: .ul ! 35: Programmer's Manual, ! 36: all the while ! 37: experimenting with ! 38: .ul ! 39: ed. ! 40: (Solicitation of advice from experienced users is also useful.) ! 41: .PP ! 42: Do the exercises! ! 43: They cover material not completely discussed ! 44: in the actual text. ! 45: An appendix summarizes the commands. ! 46: .SH ! 47: Disclaimer ! 48: .PP ! 49: This is an introduction and a tutorial. ! 50: For this reason, no attempt is made to ! 51: cover more than a part of the facilities that ! 52: .ul ! 53: ed ! 54: offers ! 55: (although this fraction includes the most useful and frequently used ! 56: parts). ! 57: When you have mastered the Tutorial, ! 58: try ! 59: .ul ! 60: Advanced Editing on ! 61: .ul ! 62: .UC UNIX . ! 63: Also, ! 64: there is not enough space to explain basic ! 65: .UC UNIX ! 66: procedures. ! 67: We will assume that you know how to log on to ! 68: .UC UNIX , ! 69: and that you have at least a vague understanding ! 70: of what a file is. ! 71: For more on that, read ! 72: .ul ! 73: .UC UNIX ! 74: .ul ! 75: for Beginners. ! 76: .PP ! 77: You must also know what character to type as the end-of-line ! 78: on your particular terminal. ! 79: This character is the ! 80: .UC RETURN ! 81: key on most terminals. ! 82: Throughout, we will refer to this character, ! 83: whatever it is, ! 84: as ! 85: .UC RETURN . ! 86: .SH ! 87: Getting Started ! 88: .PP ! 89: We'll assume that you have logged in to ! 90: your system ! 91: and it has just printed the prompt character, ! 92: usually either a ! 93: .UL $ ! 94: or a ! 95: .UL % . ! 96: The ! 97: easiest way to get ! 98: .ul ! 99: ed ! 100: is to type ! 101: .P1 ! 102: ed (followed by a return) ! 103: .P2 ! 104: You are now ready to go \- ! 105: .ul ! 106: ed ! 107: is waiting for you to tell it what to do. ! 108: .SH ! 109: Creating Text \- the Append command ``a'' ! 110: .PP ! 111: As your first problem, suppose you want to create some text ! 112: starting from scratch. ! 113: Perhaps you are typing the very first ! 114: draft of a paper; clearly it will have to start ! 115: somewhere, and undergo modifications later. ! 116: This section will show how to get some text in, just to ! 117: get started. ! 118: Later we'll talk about how to change it. ! 119: .PP ! 120: When ! 121: .ul ! 122: ed ! 123: is first started, it is rather like working ! 124: with a blank piece of paper \- there is no text ! 125: or information present. ! 126: This must be supplied by the person using ! 127: .ul ! 128: ed; ! 129: it is usually done ! 130: by typing in the text, or by reading it into ! 131: .ul ! 132: ed ! 133: from a ! 134: file. ! 135: We will start by typing in some text, and return shortly to how to ! 136: read files. ! 137: .PP ! 138: First a bit of terminology. ! 139: In ! 140: .ul ! 141: ed ! 142: jargon, the text being ! 143: worked on is said to be ``kept in a buffer.'' ! 144: Think of the ! 145: buffer as a work space, if you like, or simply as the information ! 146: that you are going to be editing. ! 147: In effect the buffer is like the ! 148: piece of paper, on which we will write things, then change some ! 149: of them, and finally file the whole thing away for another day. ! 150: .PP ! 151: The user tells ! 152: .ul ! 153: ed ! 154: what to do to his text ! 155: by typing instructions called ``commands.'' ! 156: Most ! 157: commands consist of a single letter, ! 158: which must be typed in lower case. ! 159: Each command is typed ! 160: on a separate line. ! 161: (Sometimes the command is preceded by information ! 162: about what line or lines of text are to be affected \- ! 163: we will discuss these shortly.) ! 164: .ul ! 165: Ed ! 166: makes no response ! 167: to most commands \- there is no prompting ! 168: or typing of messages like ``ready''. ! 169: (This silence is preferred ! 170: by experienced users, but sometimes a hangup for beginners.) ! 171: .PP ! 172: The first command is ! 173: .ul ! 174: append, ! 175: written as the letter ! 176: .P1 ! 177: a ! 178: .P2 ! 179: all ! 180: by itself. ! 181: It means ``append (or add) text lines to the buffer, ! 182: as I type them in.'' ! 183: Appending is rather like ! 184: writing fresh material on a piece of paper. ! 185: .PP ! 186: So to enter lines of text into the buffer, ! 187: just type an ! 188: .UL a ! 189: followed by a ! 190: .UC RETURN , ! 191: followed by the lines of text you want, like this: ! 192: .P1 ! 193: a ! 194: Now is the time ! 195: for all good men ! 196: to come to the aid of their party. ! 197: \*. ! 198: .P2 ! 199: .PP ! 200: The only way to stop appending is to type a ! 201: line that contains only a period. ! 202: The ``\*.'' is used ! 203: to tell ! 204: .ul ! 205: ed ! 206: that you have finished appending. ! 207: (Even experienced users forget that terminating ``\*.'' ! 208: sometimes. ! 209: If ! 210: .ul ! 211: ed ! 212: seems to be ignoring you, ! 213: type an extra line with just ``\*.'' on it. ! 214: You may then find you've added some garbage lines ! 215: to your text, which you'll have to take out later.) ! 216: .PP ! 217: After the append command has been done, the buffer will ! 218: contain the three lines ! 219: .P1 ! 220: Now is the time ! 221: for all good men ! 222: to come to the aid of their party. ! 223: .P2 ! 224: The ! 225: .UL a '' `` ! 226: and ``\*.'' aren't there, because they are ! 227: not text. ! 228: .PP ! 229: To add more text to what you already have, ! 230: just issue another ! 231: .UL a ! 232: command, and continue typing. ! 233: .SH ! 234: Error Messages \- ``?'' ! 235: .PP ! 236: If at any time you make an error in the commands you type to ! 237: .ul ! 238: ed, ! 239: it will tell you by typing ! 240: .P1 ! 241: ? ! 242: .P2 ! 243: This is about as cryptic as it can be, ! 244: but with practice, you can usually ! 245: figure out how you goofed.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.