--- title: Motions localeTitle: 议案 --- # Vim基本动作 ### 游标运动 首先在VIM中我们可以使用箭头键,如果我们想在文本文件中移动,但这不是最好的方法, 我们失去了VIM提供的组合命令的优势。 而不是通过文本移动的默认和最佳方式是使用键`h` (左), `j` (下), `k` (上)和`l` (右)。 ``` ^ | k <- h l -> j | v ``` 使用此键而不是箭头键的优点是,您可以将运动与其他命令结合使用,例如: * `d2j` - >删除2行 * `y10k` - >复制10行 * `10l` - >向右移动10个字符 * `2h` - >剩下2个字符 ### 单词动作 一个单词由一系列字母,数字和下划线组成,或者一个 其他非空白字符的序列,用空格分隔(空格, 标签,行尾)。空行也被认为是一个单词。 通过这个commnads可以移动单词: * `w` - >转到下一个单词 * `W` - >转到下一个**WORD** \* * `e` - >移到下一个单词的末尾 * `E` - >移动到下一个**WORD**的结尾 * `b` - >转到上一个单词 * `B` - >转到上一个**WORD** * `ge` - >移到上一个单词的末尾 * `gE` - >移动到上一个**WORD**的末尾 \* **WORD**由一系列非空白字符组成,用白色分隔 空间。空行也被认为是**WORD** ,即: `quux(foo,` `bar,` `foo);` 通过这些动作与其他命令相结合,您可以执行以下操作: * `dw` - >删除这个词 * `5e` - >从这里移到第5个字的末尾 ### 搜索动议 另一种移动到您喜欢的位置的方法是使用搜索动作,搜索动作包含在 动作+要搜索的字符 * `fx` - >移动到下一个`x` * `tx` - >在下一个`x`之前移动到第一个位置 * `;` - >下一个x * `Fx` - >移动到前一个`x` * `Tx` - >在前一个`x`之后移动到第一个位置 * `,` - >前一个x ### 行的开头和结尾 您还可以使用以下命令移至VIM的开头或结尾: * `0` - >开始行 * `^` - >该行的第一个非黑色字符 * `$` - >行尾 ### 档案动议 在VIM中,您可以使用以下命令在文件中移动: * `gg` - >移动到文件的第一行 * `G` - >移动到文件的最后一行 * ` + f` - >向下移动一页 * ` + b` - >向上移动一页 * `/text` - >查找`text` * `n` - >移动到下一个`text` (上一个命令) * `?text` - >查找以前的`text` * `N` - >移动到上一次出现的`text` * `{` - >向上移动一段 * `}` - >向下移动一个段落 * `(` - >向上移一句话 * `)` - >将一个人放下来 * `#` - >在光标下找到单词 * `*` - >在光标下找到单词