|
|
1.1 ! root 1: .\" Copyright (c) 1980 The Regents of the University of California. ! 2: .\" All rights reserved. ! 3: .\" ! 4: .\" Redistribution and use in source and binary forms are permitted ! 5: .\" provided that the above copyright notice and this paragraph are ! 6: .\" duplicated in all such forms and that any documentation, ! 7: .\" advertising materials, and other materials related to such ! 8: .\" distribution and use acknowledge that the software was developed ! 9: .\" by the University of California, Berkeley. The name of the ! 10: .\" University may not be used to endorse or promote products derived ! 11: .\" from this software without specific prior written permission. ! 12: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 13: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 14: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 15: .\" ! 16: .\" @(#)vi.summary 6.2 (Berkeley) 11/27/89 ! 17: .\" ! 18: .ds CH ! 19: .ds CF ! 20: .de TS ! 21: .br ! 22: .if !\\n(1T .RT ! 23: .ul 0 ! 24: .ti \\n(.iu ! 25: .if t .sp 0.25 ! 26: .if n .sp ! 27: .if \\$1H .TQ ! 28: .nr IX 1 ! 29: .. ! 30: .nr PS 9 ! 31: .ps 9 ! 32: .nr VS 11 ! 33: .vs 11 ! 34: .nr HM .50i ! 35: .nr FM .25i ! 36: .nr PO 0 ! 37: .po 0 ! 38: .nr LL 3.5i ! 39: .ll 3.5i ! 40: .de nc ! 41: .bp ! 42: .. ! 43: .de h ! 44: .LG ! 45: .B ! 46: \\$1 ! 47: .R ! 48: .NL ! 49: .. ! 50: .LG ! 51: .LG ! 52: .B ! 53: .ce ! 54: Ex Quick Reference ! 55: .R ! 56: .NL ! 57: .LP ! 58: .LP ! 59: .h "Entering/leaving ex" ! 60: .TS ! 61: aw(1.4i)b aw(1.8i). ! 62: % ex \fIname\fP edit \fIname\fP, start at end ! 63: % ex +\fIn\fP \fIname\fP ... at line \fIn\fP ! 64: % ex \-t \fItag\fP start at \fItag\fP ! 65: % ex \-r list saved files ! 66: % ex \-r \fIname\fP recover file \fIname\fP ! 67: % ex \fIname\fP ... edit first; rest via \fB:n\fP ! 68: % ex \-R \fIname\fP read only mode ! 69: : x exit, saving changes ! 70: : q! exit, discarding changes ! 71: .TE ! 72: .h "Ex states" ! 73: .TS ! 74: lw(1i) lw(2.0i). ! 75: Command T{ ! 76: Normal and initial state. Input prompted for by \fB:\fP. ! 77: Your kill character cancels partial command. ! 78: T} ! 79: Insert T{ ! 80: Entered by \fBa\fP \fBi\fP and \fBc\fP. ! 81: Arbitrary text then terminates with line having only \fB.\fP ! 82: character on it or abnormally with interrupt. ! 83: T} ! 84: Open/visual T{ ! 85: Entered by \fBopen\fP or \fBvi\fP, terminates with \fBQ\fP ! 86: or ^\e. ! 87: T} ! 88: .TE ! 89: .h "Ex commands" ! 90: .TS ! 91: lw(.45i) lw(.08i)b lw(.45i) lw(.08i)b lw(.45i) lw(.08i)b. ! 92: abbrev ab next n unabbrev una ! 93: append a number nu undo u ! 94: args ar open o unmap unm ! 95: change c preserve pre version ve ! 96: copy co print p visual vi ! 97: delete d put pu write w ! 98: edit e quit q xit x ! 99: file f read re yank ya ! 100: global g recover rec \fIwindow\fP z ! 101: insert i rewind rew \fIescape\fP ! ! 102: join j set se \fIlshift\fP < ! 103: list l shell sh \fIprint next\fP \fRCR\fP ! 104: map source so \fIresubst\fP & ! 105: mark ma stop st \fIrshift\fP > ! 106: move m substitute s \fIscroll\fP ^D ! 107: .TE ! 108: .h "Ex command addresses" ! 109: .TS ! 110: lw(.3i)b lw(0.8i) lw(.3i)b lw(0.8i). ! 111: \fIn\fP line \fIn\fP /\fIpat\fP next with \fIpat\fP ! 112: \&. current ?\fIpat\fP previous with \fIpat\fP ! 113: $ last \fIx\fP-\fIn\fP \fIn\fP before \fIx\fP ! 114: + next \fIx\fP,\fIy\fP \fIx\fP through \fIy\fP ! 115: \- previous \(aa\fIx\fP marked with \fIx\fP ! 116: +\fIn\fP \fIn\fP forward \(aa\(aa previous context ! 117: % 1,$ ! 118: .TE ! 119: .nc ! 120: .h "Specifying terminal type" ! 121: .TS ! 122: aw(1.7i)b aw(1.5i). ! 123: % setenv TERM \fItype\fP \fIcsh\fP and all version 6 ! 124: $ TERM=\fItype\fP; export TERM \fIsh\fP in Version 7 ! 125: See also \fItset\fR(1) ! 126: .TE ! 127: .h "Some terminal types" ! 128: .TS ! 129: lw(.4i) lw(.4i) lw(.4i) lw(.4i) lw(.4i). ! 130: 2621 43 adm31 dw1 h19 ! 131: 2645 733 adm3a dw2 i100 ! 132: 300s 745 c100 gt40 mime ! 133: 33 act4 dm1520 gt42 owl ! 134: 37 act5 dm2500 h1500 t1061 ! 135: 4014 adm3 dm3025 h1510 vt52 ! 136: .TE ! 137: .h "Initializing options" ! 138: .TS ! 139: lw(.9i)b aw(1.5i). ! 140: EXINIT place \fBset\fP's here in environment var. ! 141: set \fIx\fP enable option ! 142: set no\fIx\fP disable option ! 143: set \fIx\fP=\fIval\fP give value \fIval\fP ! 144: set show changed options ! 145: set all show all options ! 146: set \fIx\fP? show value of option \fIx\fP ! 147: .TE ! 148: .h "Useful options" ! 149: .TS ! 150: lw(.9i)b lw(.3i) lw(1.0i). ! 151: autoindent ai supply indent ! 152: autowrite aw write before changing files ! 153: ignorecase ic in scanning ! 154: lisp \fB( ) { }\fP are s-exp's ! 155: list print ^I for tab, $ at end ! 156: magic \fB. [ *\fP special in patterns ! 157: number nu number lines ! 158: paragraphs para macro names which start ... ! 159: redraw simulate smart terminal ! 160: scroll command mode lines ! 161: sections sect macro names ... ! 162: shiftwidth sw for \fB< >\fP, and input \fB^D\fP ! 163: showmatch sm to \fB)\fP and \fB}\fP as typed ! 164: slowopen slow choke updates during insert ! 165: window visual mode lines ! 166: wrapscan ws around end of buffer? ! 167: wrapmargin wm automatic line splitting ! 168: .TE ! 169: .LP ! 170: .h "Scanning pattern formation" ! 171: .TS ! 172: aw(.9i)b aw(1.0i). ! 173: \(ua beginning of line ! 174: $ end of line ! 175: \fB.\fR any character ! 176: \e< beginning of word ! 177: \e> end of word ! 178: [\fIstr\fP] any char in \fIstr\fP ! 179: [\(ua\fIstr\fP] ... not in \fIstr\fP ! 180: [\fIx\-y\fP] ... between \fIx\fP and \fIy\fP ! 181: * any number of preceding ! 182: .TE ! 183: .nc ! 184: .LP ! 185: .LG ! 186: .LG ! 187: .B ! 188: .ce ! 189: Vi Quick Reference ! 190: .NL ! 191: .R ! 192: .LP ! 193: .LP ! 194: .h "Entering/leaving vi" ! 195: .TS ! 196: aw(1.4i)b aw(1.8i). ! 197: % vi \fIname\fP edit \fIname\fP at top ! 198: % vi +\fIn\fP \fIname\fP ... at line \fIn\fP ! 199: % vi + \fIname\fP ... at end ! 200: % vi \-r list saved files ! 201: % vi \-r \fIname\fP recover file \fIname\fP ! 202: % vi \fIname\fP ... edit first; rest via \fB:n\fP ! 203: % vi \-t \fItag\fP start at \fItag\fP ! 204: % vi +/\fIpat\fP \fIname\fP search for \fIpat\fP ! 205: % view \fIname\fP read only mode ! 206: ZZ exit from vi, saving changes ! 207: ^Z stop vi for later resumption ! 208: .TE ! 209: .h "The display" ! 210: .TS ! 211: lw(.75i) lw(2.2i). ! 212: Last line T{ ! 213: Error messages, echoing input to \fB: / ?\fP and \fB!\fR, ! 214: feedback about i/o and large changes. ! 215: T} ! 216: @ lines On screen only, not in file. ! 217: ~ lines Lines past end of file. ! 218: ^\fIx\fP Control characters, ^? is delete. ! 219: tabs Expand to spaces, cursor at last. ! 220: .TE ! 221: .LP ! 222: .h "Vi states" ! 223: .TS ! 224: lw(.75i) lw(2.2i). ! 225: Command T{ ! 226: Normal and initial state. Others return here. ! 227: ESC (escape) cancels partial command. ! 228: T} ! 229: Insert T{ ! 230: Entered by \fBa i A I o O c C s S\fP \fBR\fP. ! 231: Arbitrary text then terminates with ESC character, ! 232: or abnormally with interrupt. ! 233: T} ! 234: Last line T{ ! 235: Reading input for \fB: / ?\fP or \fB!\fP; terminate ! 236: with ESC or CR to execute, interrupt to cancel. ! 237: T} ! 238: .TE ! 239: .h "Counts before vi commands" ! 240: .TS ! 241: lw(1.5i) lw(1.7i)b. ! 242: line/column number z G | ! 243: scroll amount ^D ^U ! 244: replicate insert a i A I ! 245: repeat effect \fRmost rest\fP ! 246: .TE ! 247: .h "Simple commands" ! 248: .TS ! 249: lw(1.5i)b lw(1.7i). ! 250: dw delete a word ! 251: de ... leaving punctuation ! 252: dd delete a line ! 253: 3dd ... 3 lines ! 254: i\fItext\fP\fRESC\fP insert text \fIabc\fP ! 255: cw\fInew\fP\fRESC\fP change word to \fInew\fP ! 256: ea\fIs\fP\fRESC\fP pluralize word ! 257: xp transpose characters ! 258: .TE ! 259: .nc ! 260: .h "Interrupting, cancelling" ! 261: .TS ! 262: aw(0.75i)b aw(1.6i). ! 263: ESC end insert or incomplete cmd ! 264: ^? (delete or rubout) interrupts ! 265: ^L reprint screen if \fB^?\fR scrambles it ! 266: .TE ! 267: .h "File manipulation" ! 268: .TS ! 269: aw(0.75i)b aw(1.6i). ! 270: :w write back changes ! 271: :wq write and quit ! 272: :q quit ! 273: :q! quit, discard changes ! 274: :e \fIname\fP edit file \fIname\fP ! 275: :e! reedit, discard changes ! 276: :e + \fIname\fP edit, starting at end ! 277: :e +\fIn\fR edit starting at line \fIn\fR ! 278: :e # edit alternate file ! 279: ^\(ua synonym for \fB:e #\fP ! 280: :w \fIname\fP write file \fIname\fP ! 281: :w! \fIname\fP overwrite file \fIname\fP ! 282: :sh run shell, then return ! 283: :!\fIcmd\fP run \fIcmd\fR, then return ! 284: :n edit next file in arglist ! 285: :n \fIargs\fP specify new arglist ! 286: :f show current file and line ! 287: ^G synonym for \fB:f\fP ! 288: :ta \fItag\fP to tag file entry \fItag\fP ! 289: ^] \fB:ta\fP, following word is \fItag\fP ! 290: .TE ! 291: .h "Positioning within file" ! 292: .TS ! 293: aw(0.75i)b aw(1.6i). ! 294: ^F forward screenfull ! 295: ^B backward screenfull ! 296: ^D scroll down half screen ! 297: ^U scroll up half screen ! 298: G goto line (end default) ! 299: /\fIpat\fR next line matching \fIpat\fR ! 300: ?\fIpat\fR prev line matching \fIpat\fR ! 301: n repeat last \fB/\fR or \fB?\fR ! 302: N reverse last \fB/\fR or \fB?\fR ! 303: /\fIpat\fP/+\fIn\fP n'th line after \fIpat\fR ! 304: ?\fIpat\fP?\-\fIn\fP n'th line before \fIpat\fR ! 305: ]] next section/function ! 306: [[ previous section/function ! 307: % find matching \fB( ) {\fP or \fB}\fP ! 308: .TE ! 309: .h "Adjusting the screen" ! 310: .TS ! 311: aw(0.75i)b aw(1.6i). ! 312: ^L clear and redraw ! 313: ^R retype, eliminate @ lines ! 314: z\fRCR\fP redraw, current at window top ! 315: z\- ... at bottom ! 316: z\|. ... at center ! 317: /\fIpat\fP/z\- \fIpat\fP line at bottom ! 318: z\fIn\fP\|. use \fIn\fP line window ! 319: ^E scroll window down 1 line ! 320: ^Y scroll window up 1 line ! 321: .TE ! 322: .nc ! 323: .h "Marking and returning ! 324: .TS ! 325: aw(0.5i)b aw(2.0i). ! 326: \(ga\(ga previous context ! 327: \(aa\(aa ... at first non-white in line ! 328: m\fIx\fP mark position with letter \fIx\fP ! 329: \(ga\fIx\fP to mark \fIx\fP ! 330: \(aa\fIx\fP ... at first non-white in line ! 331: .TE ! 332: .h "Line positioning" ! 333: .TS ! 334: aw(0.5i)b aw(2.0i). ! 335: H home window line ! 336: L last window line ! 337: M middle window line ! 338: + next line, at first non-white ! 339: \- previous line, at first non-white ! 340: \fRCR\fP return, same as + ! 341: \(da \fRor\fP j next line, same column ! 342: \(ua \fRor\fP k previous line, same column ! 343: .TE ! 344: .h "Character positioning" ! 345: .TS ! 346: aw(0.5i)b aw(2.0i). ! 347: \(ua first non white ! 348: 0 beginning of line ! 349: $ end of line ! 350: h \fRor\fP \(-> forward ! 351: l \fRor\fP \(<- backwards ! 352: ^H same as \fB\(<-\fP ! 353: \fRspace\fP same as \fB\(->\fP ! 354: f\fIx\fP find \fIx\fP forward ! 355: F\fIx\fP \fBf\fR backward ! 356: t\fIx\fP upto \fIx\fP forward ! 357: T\fIx\fP back upto \fIx\fP ! 358: ; repeat last \fBf F t\fP or \fBT\fP ! 359: , inverse of \fB;\fP ! 360: | to specified column ! 361: % find matching \fB( { )\fP or \fB}\fR ! 362: .TE ! 363: .h "Words, sentences, paragraphs" ! 364: .TS ! 365: aw(0.5i)b aw(2.0i). ! 366: w word forward ! 367: b back word ! 368: e end of word ! 369: ) to next sentence ! 370: } to next paragraph ! 371: ( back sentence ! 372: { back paragraph ! 373: W blank delimited word ! 374: B back \fBW\fP ! 375: E to end of \fBW\fP ! 376: .TE ! 377: .h "Commands for \s-2LISP\s0" ! 378: .TS ! 379: aw(0.5i)b aw(2.0i). ! 380: ) Forward s-expression ! 381: } ... but don't stop at atoms ! 382: ( Back s-expression ! 383: { ... but don't stop at atoms ! 384: .TE ! 385: .nc ! 386: .h "Corrections during insert" ! 387: .TS ! 388: aw(.5i)b aw(2.0i). ! 389: ^H erase last character ! 390: ^W erases last word ! 391: \fRerase\fP your erase, same as \fB^H\fP ! 392: \fRkill\fP your kill, erase input this line ! 393: \e escapes \fB^H\fR, your erase and kill ! 394: \fRESC\fP ends insertion, back to command ! 395: ^? interrupt, terminates insert ! 396: ^D backtab over \fIautoindent\fP ! 397: \(ua^D kill \fIautoindent\fP, save for next ! 398: 0^D ... but at margin next also ! 399: ^V quote non-printing character ! 400: .TE ! 401: .h "Insert and replace" ! 402: .TS ! 403: aw(.5i)b aw(2.0i). ! 404: a append after cursor ! 405: i insert before ! 406: A append at end of line ! 407: I insert before first non-blank ! 408: o open line below ! 409: O open above ! 410: r\fIx\fP replace single char with \fIx\fP ! 411: R replace characters ! 412: .TE ! 413: .h "Operators (double to affect lines)" ! 414: .TS ! 415: aw(0.5i)b aw(2.0i). ! 416: d delete ! 417: c change ! 418: < left shift ! 419: > right shift ! 420: ! filter through command ! 421: \&\= indent for \s-2LISP\s0 ! 422: y yank lines to buffer ! 423: .TE ! 424: .h "Miscellaneous operations" ! 425: .TS ! 426: aw(0.5i)b aw(2.0i). ! 427: C change rest of line ! 428: D delete rest of line ! 429: s substitute chars ! 430: S substitute lines ! 431: J join lines ! 432: x delete characters ! 433: X ... before cursor ! 434: Y yank lines ! 435: .TE ! 436: .h "Yank and put" ! 437: .TS ! 438: aw(0.5i)b aw(2.0i). ! 439: p put back lines ! 440: P put before ! 441: "\fIx\fPp put from buffer \fIx\fP ! 442: "\fIx\fPy yank to buffer \fIx\fP ! 443: "\fIx\fPd delete into buffer \fIx\fP ! 444: .TE ! 445: .h "Undo, redo, retrieve" ! 446: .TS ! 447: aw(0.5i)b aw(2.0i). ! 448: u undo last change ! 449: U restore current line ! 450: \fB.\fP repeat last change ! 451: "\fId\fP\|p retrieve \fId\fP'th last delete ! 452: .TE
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.