Linux Bible. Christopher Negus

Чтение книги онлайн.

Читать онлайн книгу Linux Bible - Christopher Negus страница 56

Linux Bible - Christopher Negus

Скачать книгу

       w: Moves the cursor to the beginning of the next word (delimited by spaces, tabs, or punctuation).

       W: Moves the cursor to the beginning of the next word (delimited by spaces or tabs).

       b: Moves the cursor to the beginning of the previous word (delimited by spaces, tabs, or punctuation).

       B: Moves the cursor to the beginning of the previous word (delimited by spaces or tabs).

       0 (zero): Moves the cursor to the beginning of the current line.

       $: Moves the cursor to the end of the current line.

       H: Moves the cursor to the upper-left corner of the screen (first line on the screen).

       M: Moves the cursor to the first character of the middle line on the screen.

       L: Moves the cursor to the lower-left corner of the screen (last line on the screen).

      Deleting, copying, and changing text

      The only other editing that you need to know is how to delete, copy, or change text. The x, d, y, and c commands can be used to delete and change text. These can be used along with movement keys (arrows, PgUp, PgDn, letters, and special keys) and numbers to indicate exactly what you are deleting, copying, or changing. Consider the following examples:

       x: Deletes the character under the cursor.

       X: Deletes the character directly before the cursor.

       d<?>: Deletes some text.

       c<?>: Changes some text.

       y<?>: Yanks (copies) some text.

      The <?> after each letter in the preceding list identifies the place where you can use a movement command to choose what you are deleting, changing, or yanking. For example:

       dw: Deletes (d) a word (w) after the current cursor position.

       db: Deletes (d) a word (b) before the current cursor position.

       dd: Deletes (d) the entire current line (d).

       c$: Changes (c) the characters (actually erases them) from the current character to the end of the current line ($) and goes into input mode.

       c0: Changes (c) (again, erases) characters from the previous character to the beginning of the current line (0) and goes into input mode.

       cl: Erases (c) the current letter (l) and goes into input mode.

       cc: Erases (c) the line (c) and goes into input mode.

       yy: Copies (y) the current line (y) into the buffer.

       y): Copies (y) the current sentence ( ) ), to the right of the cursor, into the buffer.

       y}: Copies (y) the current paragraph ( } ), to the right of the cursor, into the buffer.

      Any of the commands just shown can be further modified using numbers, as you can see in the following examples:

       3dd: Deletes (d) three (3) lines (d), beginning at the current line.

       3dw: Deletes (d) the next three (3) words (w).

       5cl: Changes (c) the next five (5) letters (l) (that is, removes the letters and enters input mode).

       12j: Moves down (j) 12 lines (12).

       5cw: Erases (c) the next five (5) words (w) and goes into input mode.

       4y): Copies (y) the next four (4) sentences ( ) ).

      Pasting (putting) text

      After text has been copied to the buffer (by deleting, changing, or yanking it), you can place that text back in your file using the letter p or P. With both commands, the text most recently stored in the buffer is put into the file in different ways.

       P: Puts the copied text to the left of the cursor if the text consists of letters or words; puts the copied text above the current line if the copied text contains lines of text.

       p: Puts the buffered text to the right of the cursor if the text consists of letters or words; puts the buffered text below the current line if the buffered text contains lines of text.

      Repeating commands

      After you delete, change, or paste text, you can repeat that action by typing a period (.). For example, with the cursor on the beginning of the name Joe, you type cw and then type Jim to change Joe to Jim. You search for the next occurrence of Joe in the file, position the cursor at the beginning of that name, and press a period. The word changes to Jim, and you can search for the next occurrence. You can go through a file this way, pressing n to go to the next occurrence and period (.) to change the word.

      Exiting vi

      To wrap things up, use the following commands to save or quit the file:

       ZZ: Saves the current changes to the file and exits from vi.

       :w: Saves the current file, but you can continue editing.

       :wq: Works the same as ZZ.

       :q: Quits the current file. This works only if you don't have any unsaved changes.

       :q!: Quits the current file and doesn't save the changes you just made to the file.TIPIf you've really trashed the file by mistake, the :q! command is the best way to exit and abandon your changes. The file reverts to the most recently changed version. So, if you just saved with :w, you are stuck with the changes up to that point. However, despite having saved the file, you can type u to back out of changes (all the way back to the beginning of the editing session if you like) and then save again.

      You have learned a few vi editing commands. I describe more commands in the following sections. First, however, consider the following tips to smooth out your first trials with vi:

       Esc: Remember that Esc gets you back to command mode. (I've watched people press every key on the keyboard trying to get out of a file.) Esc followed by ZZ gets you out of command mode, saves the file, and exits.

       u: Press u to undo the previous change you made. Continue to press u to undo the change before that and the one before that.

       Ctrl+R: If you decide that you didn't want to undo the previous undo command, use Ctrl+R for

Скачать книгу