Next: Searching and Replacing, Previous: Mark Commands, Up: Vi Commands [Contents][Index]

### 2.7 Motion Commands

Commands for moving around in the current buffer are collected here. These commands are used as an “argument” for the delete, change and yank commands to be described in the next section.

`h`

  Move point backward by one character. Signal error if point is at the beginning of buffer, but (unlike Vi) do not complain otherwise (`vip-backward-char`).

`l`

  Move point backward by one character. Signal error if point is at the end of buffer, but (unlike Vi) do not complain otherwise (`vip-forward-char`).

`j`

  Move point to the next line keeping the current column. If point is on the last line of the buffer, a new line will be created and point will move to that line (`vip-next-line`).

`k`

  Move point to the previous line keeping the current column (`vip-next-line`).

`+`

  Move point to the next line at the first non-white character. If point is on the last line of the buffer, a new line will be created and point will move to the beginning of that line (`vip-next-line-at-bol`).

`-`

  Move point to the previous line at the first non-white character (`vip-previous-line-at-bol`).

If a count is given to these commands, the commands will be repeated that many times.

`0`

  Move point to the beginning of line (`vip-beginning-of-line`).

`^`

  Move point to the first non-white character on the line (`vip-bol-and-skip-white`).

`$`

  Move point to the end of line (`vip-goto-eol`).

`n |`

  Move point to the n-th column on the line (`vip-goto-col`).

Except for the `|` command, these commands neglect a count.

`w`

  Move point forward to the beginning of the next word (`vip-forward-word`).

`W`

  Move point forward to the beginning of the next word, where a word is considered as a sequence of non-white characters (`vip-forward-Word`).

`b`

  Move point backward to the beginning of a word (`vip-backward-word`).

`B`

  Move point backward to the beginning of a word, where a word is considered as a sequence of non-white characters (`vip-forward-Word`).

`e`

  Move point forward to the end of a word (`vip-end-of-word`).

`E`

  Move point forward to the end of a word, where a word is considered as a sequence of non-white characters (`vip-end-of-Word`).

Here the meaning of the word “word” for the `w`, `b` and `e` commands is determined by the syntax table effective in the current buffer. Each major mode has its syntax mode, and therefore the meaning of a word also changes as the major mode changes. See GNU Emacs Manual for details of syntax table.

`H`

  Move point to the beginning of the home (top) line of the window. Given a count n, go to the n-th line from top (`vip-window-top`).

`M`

  Move point to the beginning of the middle line of the window. Given a count n, go to the n-th line from the middle line (`vip-window-middle`).

`L`

  Move point to the beginning of the lowest (bottom) line of the window. Given count, go to the n-th line from bottom (`vip-window-bottom`).

These commands can be used to go to the desired line visible on the screen.

`(`

  Move point backward to the beginning of the sentence (`vip-backward-sentence`).

`)`

  Move point forward to the end of the sentence (`vip-forward-sentence`).

`{`

  Move point backward to the beginning of the paragraph (`vip-backward-paragraph`).

`}`

  Move point forward to the end of the paragraph (`vip-forward-paragraph`).

A count repeats the effect for these commands.

`G`

  Given a count n, move point to the n-th line in the buffer on the first non-white character. Without a count, go to the end of the buffer (`vip-goto-line`).

`` ``

  Exchange point and mark (`vip-goto-mark`).

`` ch`

  Move point to the position stored in the register ch. ch must be a lower-case letter.

`' '`

  Exchange point and mark, and then move point to the first non-white character on the line (`vip-goto-mark-and-skip-white`).

`' ch`

  Move point to the position stored in the register ch and skip to the first non-white character on the line. ch must be a lower-case letter.

`%`

  Move point to the matching parenthesis if point is looking at `(`, `)`, `{`, `}`, `[` or `]`
  (`vip-paren-match`).

The command `G` mark point before move, so that you can return to the original point by `` ``. The original point will also be stored in the mark ring.

The following commands are useful for moving points on the line. A count will repeat the effect.

`f ch`

  Move point forward to the character ch on the line. Signal error if ch could not be found (`vip-find-char-forward`).

`F ch`

  Move point backward to the character ch on the line. Signal error if ch could not be found (`vip-find-char-backward`).

`t ch`

  Move point forward upto the character ch on the line. Signal error if ch could not be found (`vip-goto-char-forward`).

`T ch`

  Move point backward upto the character ch on the line. Signal error if ch could not be found (`vip-goto-char-backward`).

`;`

  Repeat previous `f`, `t`, `F` or `T` command (`vip-repeat-find`).

`,`

  Repeat previous `f`, `t`, `F` or `T` command, in the opposite direction (`vip-repeat-find-opposite`).

Next: Searching and Replacing, Previous: Mark Commands, Up: Vi Commands [Contents][Index]