|
|
1.1 ! root 1: ! 2: Elvis 1.4 VISUAL MODE COMMANDS Page 2-1 ! 3: ! 4: ! 5: E2. VISUAL MODE COMMANDSF ! 6: ! 7: Most visual mode commands are one keystroke long. The following ! 8: table lists the operation performed by each keystroke, and also ! 9: denotes any options or arguments that it accepts. Notes at the end ! 10: of the table describe the notation used in this table. ! 11: ! 12: In addition to the keys listed here, your keyboard's "arrow" ! 13: keys will be interpretted as the appropriate cursor movement ! 14: commands. The same goes for <PgUp> and <PgDn>, if your keyboard ! 15: has them. There is a colon mode command (to be described later) ! 16: which will allow you to define other keys, such as function keys. ! 17: ! 18: A tip: visual command mode looks a lot like text input mode. If ! 19: you forget which mode you're in, just hit the <Esc> key. If elvis ! 20: beeps, then you're in visual command mode. If elvis does not beep, ! 21: then you were in input mode, but by hitting <Esc> you will have ! 22: switched to visual command mode. So, one way or another, after ! 23: <Esc> elvis will be ready for a command. ! 24: ! 25: -1command description type-0 ! 26: ^A --- ! 27: ^B Move toward the top of the file by 1 screenful ! 28: ^C --- ! 29: count ^D scroll down <count> lines (default 1/2 screen) ! 30: count ^E scroll up <count> lines ! 31: ^F move toward the bottom of the file by 1 screenful ! 32: ^G show file status, and the current line # ! 33: count ^H move left, like h MOVE ! 34: ^I --- ! 35: count ^J move down MOVE ! 36: ^K --- ! 37: ^L redraw the screen ! 38: count ^M move to the front of the next line MOVE ! 39: count ^N move down MOVE ! 40: ^O --- ! 41: count ^P move up MOVE ! 42: ^Q --- ! 43: ^R redraw the screen ! 44: ^S --- ! 45: ^T --- ! 46: count ^U scroll up <count> lines (default 1/2 screen) ! 47: ^V --- ! 48: ^W --- ! 49: ^X --- ! 50: count ^Y scroll down <count> lines ! 51: ^Z --- ! 52: ESC --- ! 53: ^\ --- ! 54: ^] if the cursor is on a tag name, go to that tag ! 55: ^^ switch to the previous file, like ":e #" ! 56: ^_ --- ! 57: count SPC move right,like l MOVE ! 58: ! mv run the selected lines thru an external filter program ! 59: " key select which cut buffer to use next ! 60: count # + increment a number EDIT ! 61: $ move to the rear of the current line MOVE ! 62: % move to the matching (){}[] character MOVE ! 63: ! 64: ! 65: ! 66: ! 67: ! 68: Elvis 1.4 VISUAL MODE COMMANDS Page 2-2 ! 69: ! 70: ! 71: count & repeat the previous ":s//" command here EDIT ! 72: ' key move to a marked line MOVE ! 73: count ( move backward <count> sentences MOVE ! 74: count ) move forward <count> sentences MOVE ! 75: * go to the next error in the errlist ! 76: count + move to the front of the next line MOVE ! 77: count , repeat the previous [fFtT] but in the other direction MOVE ! 78: count - move to the front of the preceding line MOVE ! 79: count . repeat the previous "edit" command ! 80: / text search forward for a given regular expression MOVE ! 81: 0 if not part of count, move to 1st char of this line MOVE ! 82: 1 part of count ! 83: 2 part of count ! 84: 3 part of count ! 85: 4 part of count ! 86: 5 part of count ! 87: 6 part of count ! 88: 7 part of count ! 89: 8 part of count ! 90: 9 part of count ! 91: : text run single EX cmd ! 92: count ; repeat the previous [fFtT] cmd MOVE ! 93: < mv shift text left EDIT ! 94: = --- ! 95: > mv shift text right EDIT ! 96: ? text search backward for a given regular expression MOVE ! 97: @ key execute the contents of a cut-buffer as VI commands ! 98: count A inp append at end of the line EDIT ! 99: count B move back Word MOVE ! 100: C inp change text from the cursor through the end of the line EDIT ! 101: D delete text from the cursor through the end of the line EDIT ! 102: count E move end of Word MOVE ! 103: count F key move leftward to a given character MOVE ! 104: count G move to line #<count> (default is the bottom line) MOVE ! 105: count H move to home row (the line at the top of the screen) ! 106: count I inp insert at the front of the line (after indents) EDIT ! 107: count J join lines, to form one big line EDIT ! 108: K look up keyword ! 109: count L move to last row (the line at the bottom of the screen) ! 110: M move to middle row ! 111: N repeat previous search, but in the opposite direction MOVE ! 112: count O inp open up a new line above the current line EDIT ! 113: P paste text before the cursor ! 114: Q quit to EX mode ! 115: R inp overtype EDIT ! 116: count S inp change lines, like <count>cc ! 117: count T key move leftward *almost* to a given character MOVE ! 118: U Undo all recent changes to the current line ! 119: V --- ! 120: count W move forward <count> Words MOVE ! 121: count X delete the character(s) to the left of the cursor EDIT ! 122: count Y yank text line(s) (copy them into a cut buffer) ! 123: Z Z save the file & exit ! 124: [ [ move back 1 section MOVE ! 125: \ --- ! 126: ] ] move forward 1 section MOVE ! 127: ^ move to the front of the current line (after indent) MOVE ! 128: _ --- ! 129: ! 130: ! 131: ! 132: ! 133: ! 134: Elvis 1.4 VISUAL MODE COMMANDS Page 2-3 ! 135: ! 136: ! 137: ` key move to a marked character MOVE ! 138: count a inp insert text after the cursor EDIT ! 139: count b move back <count> words MOVE ! 140: c mv change text EDIT ! 141: d mv delete text EDIT ! 142: count e move forward to the end of the current word MOVE ! 143: count f key move rightward to a given character MOVE ! 144: g --- ! 145: count h move left MOVE ! 146: count i inp insert text at the cursor EDIT ! 147: count j move down MOVE ! 148: count k move up MOVE ! 149: count l move right MOVE ! 150: m key mark a line or character ! 151: n repeat the previous search MOVE ! 152: count o inp open a new line below the current line EDIT ! 153: p paste text after the cursor ! 154: q --- ! 155: count r key replace <count> chars by a given character EDIT ! 156: count s inp replace <count> chars with text from the user EDIT ! 157: count t key move rightward *almost* to a given character MOVE ! 158: u undo the previous edit command ! 159: v --- ! 160: count w move forward <count> words MOVE ! 161: count x delete the character that the cursor's on EDIT ! 162: y mv yank text (copy it into a cut buffer) ! 163: z key scroll current line to the screen's +=top -=bottom .=middle ! 164: count { move back <count> paragraphs MOVE ! 165: count | move to column <count> (the leftmost column is 1) ! 166: count } move forward <count> paragraphs MOVE ! 167: count ~ switch a character between uppercase & lowercase EDIT ! 168: DEL --- ! 169: -------------------------------------------------------------------------------- ! 170: ! 171: count Many commands may be preceded by a count. This is a sequence of digits ! 172: representing a decimal number. For most commands that use a count, ! 173: the command is repeated <count> times. The count is always optional, ! 174: and usually defaults to 1. ! 175: ! 176: key Some commands require two keystrokes. The first key always determines ! 177: which command is to be executed. The second key is used as a parameter ! 178: to the command. ! 179: ! 180: mv Six commands (! < > c d y) operate on text between the cursor and some ! 181: other position. To specify that other position, you are expected to ! 182: follow the command keystroke with a movement command. Also, you may ! 183: have the command operate on the whole line that the cursor is on by ! 184: typing the command key a second time. ! 185: ! 186: inp Many commands allow the user to interactively enter text. ! 187: ! 188: EDIT These commands affect text, and may be repeated by the "." command. ! 189: ! 190: MOVE These commands move the cursor, and may be used to specify the extent ! 191: of a member of the "mv" class of commands. ! 192: ! 193: ! 194: ! 195: ! 196: ! 197: ! 198: ! 199: ! 200: Elvis 1.4 VISUAL MODE COMMANDS Page 2-4 ! 201: ! 202: ! 203: E2.1 Input ModeF ! 204: ! 205: You can't type text into your file directly from visual command ! 206: mode. Instead, you must first give a command which will put you ! 207: into input mode. The commands to do this are A/C/I/O/R/S/a/i/o/s. ! 208: ! 209: The S/s/C/c commands temporarily place a $ at the end of the ! 210: text that they are going to change. ! 211: ! 212: In input mode, all keystrokes are inserted into the text at the ! 213: cursor's position, except for the following: ! 214: ! 215: ^A insert a copy of the last input text ! 216: ^D delete one indent character ! 217: ^H (backspace) erase the character before the cursor ! 218: ^L redraw the screen ! 219: ^M (carriage return) insert a newline (^J, linefeed) ! 220: ^P insert the contents of the cut buffer ! 221: ^R redraw the screen, like ^L ! 222: ^T insert an indent character ! 223: ^U backspace to the beginning of the line ! 224: ^V insert the following keystroke, even if special ! 225: ^W backspace to the beginning of the current word ! 226: ^Z^Z write the file & exit elvis ! 227: ^[ (ESCape) exit from input mode, back to command mode ! 228: ! 229: Also, on some systems, ^S may stop output, ^Q may restart ! 230: output, and ^C may interupt execution. ^@ (the NUL character) ! 231: cannot be inserted. ! 232: ! 233: The R visual command puts you in overtype mode, which is a ! 234: slightly different form of input mode. In overtype mode, each time ! 235: you insert a character, one of the old characters is deleted from ! 236: the file. ! 237: ! 238: ! 239: E2.2 Arrow keys in Input ModeF ! 240: ! 241: The arrow keys can be used to move the cursor in input mode. ! 242: (This is an extension; the real Vi doesn't support arrow keys in ! 243: input mode.) The <PgUp>, <PgDn>, <Home>, and <End> keys work in ! 244: input mode, too. The <Delete> key deletes a single character in ! 245: input mode. ! 246: ! 247: The best thing about allowing arrow keys to work in input mode ! 248: is that as long as you're in input mode, Elvis seems to have a ! 249: fairly ordinary user interface. With most other text editors, you ! 250: are always in either insert mode or replace mode, and you can use ! 251: the arrow keys at any time to move the cursor. Now, Elvis can act ! 252: like that, too. In fact, with the new "inputmode" option and the ! 253: "control-Z control-Z" input command, you may never have to go into ! 254: visual command mode for simple edit sessions. ! 255: ! 256: ! 257: ! 258: ! 259: ! 260: ! 261: ! 262: ! 263: ! 264: ! 265: ! 266: Elvis 1.4 VISUAL MODE COMMANDS Page 2-5 ! 267: ! 268: ! 269: E2.3 DigraphsF ! 270: ! 271: Elvis supports digraphs as a way to enter non-ASCII characters. ! 272: A digraph is a character which is composed of two other ! 273: characters. For example, an apostrophe and the letter i could be ! 274: defined as a digraph which is to be stored & displayed as an ! 275: accented i. ! 276: ! 277: There is no single standard for extended ASCII character sets. ! 278: Elvis can be compiled to fill the digraph with values appropriate ! 279: for either the IBM PC character set, or the LATIN-1 character set ! 280: used by X windows, or neither. (See the discussions of -DCS_IBMPC ! 281: and -DCS_LATIN1 in the CFLAGS section of this manual.) You can view ! 282: or edit the digraph table via the ":digraph" colon command. ! 283: ! 284: Digraphs wil not be recognized until you've entered ":set ! 285: digraph". ! 286: ! 287: To actually use a digraph type the first character, then hit ! 288: <Backspace>, and then type the second character. Elvis will then ! 289: substitute the non-ASCII character in their place. ! 290: ! 291: ! 292: E2.4 AbbreviationsF ! 293: ! 294: Elvis can expand abbreviations for you. You define an ! 295: abbreviation with the :abbr command, and then whenever you type in ! 296: the abbreviated form while in input mode, elvis will immediately ! 297: the long form. COBOL programmers should find this useful. :-) ! 298: ! 299: Elvis doesn't perform the substitution until you type a ! 300: non-alphanumeric character to mark the end of the word. If you ! 301: type a control-V before that non-alphanumeric character, then Elvis ! 302: will not perform the substitution. ! 303: ! 304: ! 305: E2.5 Auto-IndentF ! 306: ! 307: With the ":set autoindent" option turned on, Elvis will ! 308: automatically insert leading whitespace at the beginning of each ! 309: new line that you type in. The leading whitespace is copied from ! 310: the preceding line. ! 311: ! 312: To add more leading whitespace, type control-T. To remove some ! 313: whitespace, type control-D. ! 314: ! 315: Elvis' autoindent mode isn't 100% compatible with vi's. In ! 316: Elvis, 0^D and ^^D don't work, ^U can wipeout all indentation, and ! 317: sometimes Elvis will use a different amount of indentation than vi ! 318: would. ! 319: ! 320: ! 321: ! 322: ! 323: ! 324: ! 325: ! 326: ! 327: ! 328: ! 329: ! 330:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.