home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / riscbsd / 1_1_contri / usd / 16_ex / ex_summary < prev    next >
Encoding:
Text File  |  1986-05-31  |  13.9 KB  |  708 lines

  1. .\" Copyright (c) 1980 Regents of the University of California.
  2. .\" All rights reserved.  The Berkeley software License Agreement
  3. .\" specifies the terms and conditions for redistribution.
  4. .\"
  5. .\"    @(#)ex.summary    6.1 (Berkeley) 5/30/86
  6. .\"
  7. .ds p \v'-0.2'.\v'+0.2'
  8. .ds U \s-2UNIX\s+2
  9. .ds c \v'-0.2':\v'+0.2'
  10. .nr PO .25i
  11. .nr LL 6.75i
  12. .lt 6.75i
  13. .ll 6.75i
  14. .ds CH
  15. .ds LF Computing Services, U.C. Berkeley
  16. .ds RF April 3, 1979
  17. .de SP
  18. .sp 1v
  19. ..
  20. .nr PI 3n
  21. .nr PD 0
  22. .ND
  23. .ps 12
  24. .ft B
  25. .ce 1
  26. Ex/Edit Command Summary (Version 2.0)
  27. .ft R
  28. .nr VS 11
  29. .nr PS 9
  30. .nr HM 0.5i
  31. .nr CW
  32. .2C
  33. .PP
  34. .I Ex
  35. and
  36. .I edit
  37. are text editors, used for creating
  38. and modifying files of text on the \*U
  39. computer system.
  40. .I Edit
  41. is a variant of
  42. .I ex
  43. with features designed to
  44. make it less complicated
  45. to learn and use.
  46. In terms of command syntax and effect
  47. the editors are essentially identical,
  48. and this command summary applies to both.
  49. .PP
  50. The summary is meant as a quick reference
  51. for users already acquainted
  52. with
  53. .I edit
  54. or \fIex\fP.
  55. Fuller explanations of the editors are available
  56. in the documents
  57. .I
  58. Edit: A Tutorial
  59. .R
  60. (a self-teaching introduction) and the
  61. .I
  62. Ex Reference Manual
  63. .R
  64. (the comprehensive reference source for
  65. both \fIedit\fP and \fIex\fP).
  66. Both of these writeups are available in the
  67. Computing Services Library.
  68. .PP
  69. In the examples included with the
  70. summary, commands and text entered by
  71. the user are printed in \fBboldface\fR to
  72. distinguish them from responses printed
  73. by the computer.
  74. .sp 0.45v
  75. .LP
  76. .B
  77. The Editor Buffer
  78. .PP
  79. In order to perform its tasks
  80. the editor sets aside a temporary
  81. work space,
  82. called a \fIbuffer\fR,
  83. separate from the user's permanent
  84. file.
  85. Before starting to work on an existing
  86. file the editor makes a copy of it in the
  87. buffer, leaving the original untouched.
  88. All editing changes are made to the
  89. buffer copy, which must then
  90. be written back to the permanent
  91. file in order to update the
  92. old version.
  93. The buffer disappears
  94. at the end of the editing session.
  95. .sp 0.45v
  96. .LP
  97. .B
  98. Editing: Command and Text Input Modes
  99. .PP
  100. .R
  101. During an editing session there are
  102. two usual modes of operation:
  103. \fIcommand\fP mode and \fItext input\fP
  104. mode.
  105. (This disregards, for the moment,
  106. .I open
  107. and
  108. .I visual
  109. modes, discussed below.)
  110. In command mode, the editor issues a
  111. colon prompt (:)
  112. to show that it is ready to
  113. accept and execute a command.
  114. In text input mode, on the other hand, there is
  115. no prompt and the editor merely accepts text to
  116. be added to the buffer.
  117. Text input mode is initiated by the commands
  118. \fIappend\fP, \fIinsert\fP, and \fIchange\fP,
  119. and is terminated by typing a period as the
  120. first and only character on a line.
  121. .sp 0.45v
  122. .LP
  123. .B
  124. Line Numbers and Command Syntax
  125. .PP
  126. .R
  127. The editor keeps track of lines of text
  128. in the buffer by numbering them consecutively
  129. starting with 1 and renumbering
  130. as lines are added or deleted.
  131. At any given time the editor is positioned
  132. at one of these lines; this position is
  133. called the \fIcurrent line\fP.
  134. Generally, commands that change the
  135. contents of the buffer print the
  136. new current line at the end of their
  137. execution.
  138. .PP
  139. Most commands can be preceded by one or two
  140. line-number addresses which indicate the lines
  141. to be affected.
  142. If one number is given the command operates on
  143. that line only; if two, on an inclusive range
  144. of lines.
  145. Commands that can take line-number prefixes also
  146. assume default prefixes if none are given.
  147. The default assumed by each command is designed
  148. to make it convenient to use in many instances
  149. without any line-number prefix.
  150. For the most part, a command used without a
  151. prefix operates on the current line,
  152. though exceptions to this rule should be noted.
  153. The \fIprint\fP command
  154. by itself, for instance, causes
  155. one line, the current line, to be
  156. printed at the terminal.
  157. .PP
  158. The summary shows the number of line addresses
  159. that can be
  160. prefixed to each command as well as
  161. the defaults assumed if they are omitted.
  162. For example,
  163. .I (.,.)
  164. means that up to 2 line-numbers may be given,
  165. and that if none is given the
  166. command operates on the current line.
  167. (In the address prefix notation, ``.'' stands
  168. for the current line and ``$'' stands for
  169. the last line of the buffer.)
  170. If no such notation appears, no
  171. line-number prefix may be used.
  172. .PP
  173. Some commands take trailing
  174. information;
  175. only
  176. the more important instances of this
  177. are mentioned in the summary.
  178. .sp 0.25v
  179. .LP
  180. .B
  181. Open and Visual Modes
  182. .PP
  183. .R
  184. Besides command and text input modes,
  185. .I ex
  186. and
  187. .I edit
  188. provide on some CRT terminals other modes of editing,
  189. .I open
  190. and
  191. .I visual .
  192. In these modes the cursor can
  193. be moved to individual words
  194. or characters in a line.
  195. The commands then given are very different
  196. from the standard editor commands; most do not appear on the screen when
  197. typed.
  198. .I
  199. An Introduction to Display Editing with Vi
  200. .R
  201. provides a full discussion.
  202. .sp 0.25v
  203. .LP
  204. .B
  205. Special Characters
  206. .PP
  207. .R
  208. .fi
  209. Some characters take on special meanings
  210. when used in context searches
  211. and in patterns given to the \fIsubstitute\fP command.
  212. For \fIedit\fR, these are ``^'' and ``$'',
  213. meaning the beginning and end of a line,
  214. respectively.
  215. .I Ex
  216. has the following additional special characters:
  217. .B
  218. .ce 1
  219. \&.     &     *     [     ]     ~
  220. .R
  221. To use one of the special characters as its
  222. simple graphic representation
  223. rather than with its special meaning,
  224. precede it by a backslash (\\).
  225. The backslash always has a special meaning.
  226. .1C
  227. .rm LF
  228. .rm RF
  229. .rm CF
  230. .nr FM 0.4
  231. .TS
  232. cp10 cp10 cp10 cp10
  233. ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
  234. Name    Abbr    Description    Examples
  235. .sp 1.75
  236. (.)\fBappend    a    T{
  237. Begins text input mode,
  238. adding lines to the buffer after
  239. the line specified. Appending continues
  240. until ``.'' is typed alone at the
  241. beginning of a new line, followed by
  242. a carriage return. \fI0a\fR places
  243. lines at the beginning of the buffer.
  244. T}    T{
  245. .nf
  246. \fR:\fBa
  247. Three lines of text
  248. are added to the buffer
  249. after the current line.
  250. \*p
  251. .R
  252. \*c
  253. .fi
  254. T}
  255. .SP
  256. \fR(.,.)\fBchange    c    T{
  257. Deletes indicated line(s) and
  258. initiates text input mode to
  259. replace them with new text which follows.
  260. New text is terminated the same way
  261. as with \fIappend\fR.
  262. T}    T{
  263. .nf
  264. :\fB5,6c
  265. Lines 5 and 6 are
  266. deleted and replaced by
  267. these three lines.
  268. \*p
  269. .R
  270. \*c
  271. .fi
  272. T}
  273. .SP
  274. \fR(.,.)\fBcopy \fIaddr    co    T{
  275. Places a copy of the specified lines
  276. after the line indicated by \fIaddr\fR.
  277. The example places a copy of lines 8 through
  278. 12, inclusive, after line 25.
  279. T}    T{
  280. .nf
  281. \fR:\fB8,12co 25
  282. \fRLast line copied is printed
  283. \fR\*c
  284. .fi
  285. T}
  286. .SP
  287. \fR(.,.)\fBdelete    d    T{
  288. Removes lines from the buffer
  289. and prints the current line after the deletion.
  290. T}    T{
  291. .nf
  292. \fR:\fB13,15d
  293. \fRNew current line is printed
  294. \*c
  295. .fi
  296. T}
  297. .TE
  298. .sp 0.5v
  299. .TS
  300. ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
  301. T{
  302. \fBedit \fIfile\fP
  303. .br
  304. \fBedit! \fIfile\fP
  305. T}    T{
  306. e
  307. .br
  308. e!
  309. T}    T{
  310. .fi
  311. \fRClears the editor buffer and then
  312. copies into it the named \fIfile\fR,
  313. which becomes the current file.
  314. This is a way of shifting to a different
  315. file
  316. without leaving the editor.
  317. The editor issues a warning
  318. message if this command is used before
  319. saving changes
  320. made to the file already in the buffer;
  321. using the form \fBe!\fR overrides this protective mechanism.
  322. T}    T{
  323. .nf
  324. \fR:\fBe ch10\fR
  325. No write since last change
  326. :\fBe! ch10\fR
  327. "ch10" 3 lines, 62 characters
  328. \*c
  329. .fi
  330. T}
  331. .SP
  332. \fBfile \fIname\fR    f    T{
  333. \fRIf followed by a \fIname\fR, renames
  334. the current file to \fIname\fR.
  335. If used without \fIname\fR, prints
  336. the name of the current file.
  337. T}    T{
  338. .nf
  339. \fR:\fBf ch9
  340. \fR"ch9" [Modified] 3 lines ...
  341. :\fBf
  342. \fR"ch9" [Modified] 3 lines ...
  343. \*c
  344. .fi
  345. T}
  346. .SP
  347. (1,$)\fBglobal    g    \fBglobal/\fIpattern\fB/\fIcommands    T{
  348. .nf
  349. :\fBg/nonsense/d
  350. \fR\*c
  351. .fi
  352. T}
  353. \fR(1,$)\fBglobal!    g!\fR or \fBv    T{
  354. Searches the entire buffer (unless a smaller
  355. range is specified by line-number prefixes) and
  356. executes \fIcommands\fR on every line with
  357. an expression matching \fIpattern\fR.
  358. The second form, abbreviated
  359. either \fBg!\fR or \fBv\fR,
  360. executes \fIcommands\fR on lines that \fIdo
  361. not\fR contain the expression \fIpattern\fR.
  362. T}    \^
  363. .SP
  364. \fR(.)\fBinsert    i    T{
  365. Inserts new lines of text immediately before the specified line.
  366. Differs from
  367. .I append
  368. only in that text is placed before, rather than after, the indicated line.
  369. In other words, \fB1i\fR has the same effect as \fB0a\fR.
  370. T}    T{
  371. .nf
  372. :\fB1i
  373. These lines of text will
  374. be added prior to line 1.
  375. \&.
  376. \fR:
  377. .fi
  378. T}    \^
  379. .SP
  380. \fR(.,.+1)\fBjoin    j    T{
  381. Join lines together, adjusting white space (spaces
  382. and tabs) as necessary.
  383. T}    T{
  384. .nf
  385. :\fB2,5j\fR
  386. Resulting line is printed
  387. :
  388. .fi
  389. T}    \^
  390. .TE
  391. .bp
  392. .TS
  393. cp10 cp10 cp10 cp10
  394. ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
  395. Name    Abbr    Description    Examples
  396. .sp 1.75
  397. \fR(.,.)\fBlist    l    T{
  398. \fRPrints lines in a more
  399. unambiguous way than the \fIprint\fR
  400. command does. The end of a line,
  401. for example, is marked with a ``$'',
  402. and tabs printed as ``^I''.
  403. T}    T{
  404. .nf
  405. :\fB9l
  406. \fRThis is line 9$
  407. \*c
  408. .fi
  409. T}
  410. .TE
  411. .sp 0.5v
  412. .TS
  413. ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
  414. \fR(.,.)\fBmove \fIaddr\fB    m    T{
  415. \fRMoves the specified lines
  416. to a position after the line
  417. indicated by \fIaddr\fR.
  418. T}    T{
  419. .nf
  420. \fR:\fB12,15m 25\fR
  421. New current line is printed
  422. \*c
  423. .fi
  424. T}
  425. .SP
  426. \fR(.,.)\fBnumber    nu    T{
  427. Prints each line preceded
  428. by its buffer line number.
  429. T}    T{
  430. .nf
  431. \fR:\fBnu
  432. \0\0\fR10\0 This is line 10
  433. \*c
  434. .fi
  435. T}
  436. .SP
  437. \fR(.)\fBopen    o    T{
  438. Too involved to discuss here,
  439. but if you enter open mode
  440. accidentally, press
  441. the \s-2ESC\s0 key followed by
  442. \fBq\fR to
  443. get back into normal editor
  444. command mode.
  445. \fIEdit\fP is designed to
  446. prevent accidental use of
  447. the open command.
  448. T}    
  449. .SP
  450. \fBpreserve    pre    T{
  451. Saves a copy of the current buffer contents as though the system had
  452. just crashed.  This is for use in an emergency when a
  453. .I write
  454. command has failed and you don't know how else to save your work.\(dg
  455. T}    T{
  456. .nf
  457. :\fBpreserve\fR
  458. File preserved.
  459. :
  460. .fi
  461. T}
  462. .SP
  463. \fR(.,.)\fBprint    p    Prints the text of line(s).    T{
  464. .nf
  465. :\fB+2,+3p\fR
  466. The second and third lines
  467. after the current line
  468. :
  469. .fi
  470. T}
  471. .TE
  472. .FS
  473. \(dg Seek assistance from a consultant as soon as possible
  474. after saving a file with the
  475. .I preserve
  476. command, because the file is saved on system storage space for only one week.
  477. .FE
  478. .SP
  479. .nf
  480. .TS
  481. ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
  482. T{
  483. .nf
  484. \fBquit
  485. quit!
  486. .fi
  487. T}    T{
  488. .nf
  489. q
  490. q!
  491. T}    T{
  492. .fi
  493. \fREnds the editing session.
  494. You will receive a
  495. warning if you have changed the buffer
  496. since last writing its contents
  497. to the file. In this event you
  498. must either type \fBw\fR to write,
  499. or type \fBq!\fR to exit from
  500. the editor without saving your changes.
  501. T}    T{
  502. .nf
  503. \fR:\fBq
  504. \fRNo write since last change
  505. :\fBq!
  506. \fR%
  507. .fi
  508. T}
  509. .SP
  510. \fR(.)\fBread \fIfile\fP    r    T{
  511. .fi
  512. \fRPlaces a copy of \fIfile\fR in the
  513. buffer after the specified line.
  514. Address 0 is permissible and causes
  515. the copy of \fIfile\fR to be placed
  516. at the beginning of the buffer.
  517. The \fIread\fP command does not
  518. erase any text already in the buffer.
  519. If no line number is specified,
  520. \fIfile\fR is placed after the
  521. current line.
  522. T}    T{
  523. .nf
  524. \fR:\fB0r newfile
  525. \fR"newfile" 5 lines, 86 characters
  526. \*c
  527. .fi
  528. T}
  529. .SP
  530. \fBrecover \fIfile\fP    rec    T{
  531. .fi
  532. Retrieves a copy of the editor buffer
  533. after a system crash, editor crash,
  534. phone line disconnection, or
  535. \fIpreserve\fR command.
  536. T}
  537. .SP
  538. \fR(.,.)\fBsubstitute    s    T{
  539. .nf
  540. \fBsubstitute/\fIpattern\fB/\fIreplacement\fB/
  541. substitute/\fIpattern\fB/\fIreplacement\fB/gc
  542. .fi
  543. \fRReplaces the first occurrence of \fIpattern\fR
  544. on a line
  545. with \fIreplacement\fP.
  546. Including a \fBg\fR after the command
  547. changes all occurrences of \fIpattern\fP
  548. on the line.
  549. The \fBc\fR option allows the user to
  550. confirm each substitution before it is
  551. made; see the manual for details.
  552. T}    T{
  553. .nf
  554. :\fB3p
  555. \fRLine 3 contains a misstake
  556. :\fBs/misstake/mistake/
  557. \fRLine 3 contains a mistake
  558. \*c
  559. .fi
  560. T}
  561. .TE
  562. .bp
  563. .TS
  564. cp10 cp10 cp10 cp10
  565. ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
  566. Name    Abbr    Description    Examples
  567. .sp 1.75
  568. \fBundo    u    T{
  569. .fi
  570. \fRReverses the changes made in
  571. the buffer by the last buffer-editing
  572. command.
  573. Note that this example contains
  574. a notification about the number of
  575. lines affected.
  576. T}    T{
  577. .nf
  578. \fR:\fB1,15d
  579. \fR15 lines deleted
  580. new line number 1 is printed
  581. :\fBu
  582. \fR15 more lines in file ...
  583. old line number 1 is printed
  584. \*c
  585. .fi
  586. T}
  587. .SP
  588. \fR(1,$)\fBwrite \fIfile\fR    w    T{
  589. .fi
  590. \fRCopies data from the buffer onto
  591. a permanent file. If no \fIfile\fR
  592. is named, the current filename
  593. is used.
  594. The file is automatically created
  595. if it does not yet exist.
  596. A response containing the number of
  597. lines and characters in the file
  598. indicates that the write
  599. has been completed successfully.
  600. The editor's built-in protections
  601. against overwriting existing files
  602. will in some circumstances
  603. inhibit a write.
  604. The form \fBw!\fR forces the
  605. write, confirming that
  606. an existing file is to be overwritten.
  607. T}    T{
  608. .nf
  609. \fR:\fBw
  610. \fR"file7" 64 lines, 1122 characters
  611. :\fBw file8
  612. \fR"file8" File exists ...
  613. :\fBw! file8
  614. \fR"file8" 64 lines, 1122 characters
  615. \*c
  616. .fi
  617. T}
  618. \fR(1,$)\fBwrite! \fIfile\fP    w!    \^    \^
  619. .TE
  620. .sp 0.5v
  621. .TS
  622. ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
  623. \fR(.)\fBz \fIcount\fP    z    T{
  624. .fi
  625. \fRPrints a screen full of text starting
  626. with the line indicated;
  627. or, if \fIcount\fR is specified,
  628. prints that number of lines.
  629. Variants of the \fIz\fR command
  630. are described in the manual.
  631. T}    
  632. .SP
  633. \fB!\fIcommand        T{
  634. .fi
  635. Executes the remainder of the line
  636. after \fB!\fR as a \*U command.
  637. The buffer is unchanged by this, and
  638. control is returned to the editor when
  639. the execution of \fIcommand\fR is complete.
  640. T}    T{
  641. .nf
  642. \fR:\fB!date
  643. \fRFri Jun 9 12:15:11 PDT 1978
  644. !
  645. \*c
  646. .fi
  647. T}
  648. .SP
  649. \fRcontrol-d        T{
  650. .fi
  651. Prints the next \fIscroll\fR of text,
  652. normally half of a screen. See the
  653. manual for details of the \fIscroll\fR
  654. option.
  655. T}
  656. .SP
  657. \fR(.+1)<cr>        T{
  658. .fi
  659. An address alone followed by a carriage
  660. return causes the line to be printed.
  661. A carriage return by itself prints the
  662. line following the current line.
  663. T}    T{
  664. .nf
  665. :\fR<cr>
  666. the line after the current line
  667. \*c
  668. .fi
  669. T}
  670. .TE
  671. .sp 0.5v
  672. .TS
  673. ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
  674. \fB/\fIpattern\fB/        T{
  675. .fi
  676. \fRSearches for the next line in which
  677. \fIpattern\fR occurs and prints it.
  678. T}    T{
  679. .nf
  680. \fR:\fB/This pattern/
  681. \fRThis pattern next occurs here.
  682. \*c
  683. .fi
  684. T}
  685. .SP
  686. \fB//        T{
  687. Repeats the most recent search.
  688. T}    T{
  689. .nf
  690. \fR:\fB//
  691. \fRThis pattern also occurs here.
  692. \*c
  693. .fi
  694. T}
  695. .SP
  696. \fB?\fIpattern\fB?        T{
  697. Searches in the reverse direction
  698. for \fIpattern\fP.
  699. T}    
  700. .SP
  701. \fB??        T{
  702. Repeats the most recent search,
  703. moving in the reverse direction
  704. through the buffer.
  705. T}
  706. .TE
  707.  
  708.