87 lines
2.6 KiB
Markdown
87 lines
2.6 KiB
Markdown
---
|
||
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` - >移动到文件的最后一行
|
||
* `<ctrl> + f` - >向下移动一页
|
||
* `<ctrl> + b` - >向上移动一页
|
||
* `/text` - >查找`text`
|
||
* `n` - >移动到下一个`text` (上一个命令)
|
||
* `?text` - >查找以前的`text`
|
||
* `N` - >移动到上一次出现的`text`
|
||
* `{` - >向上移动一段
|
||
* `}` - >向下移动一个段落
|
||
* `(` - >向上移一句话
|
||
* `)` - >将一个人放下来
|
||
* `#` - >在光标下找到单词
|
||
* `*` - >在光标下找到单词 |