freeCodeCamp/guide/chinese/vim/modes/index.md

110 lines
4.9 KiB
Markdown
Raw Normal View History

---
title: Modes in Vim
localeTitle: Vim中的模式
---
# Vim模式
因为Vim专注于改变现有代码就像编写新代码一样 代码,它被分成几种模式,每种模式都有不同的用途。
### 正常模式
默认情况下Vim以“正常”模式启动。 按`Esc`或`<C-[>`可以从其他模式访问正常模式。
在正常模式下,按键操作无法正常工作。也就是说,它们不会在文档中插入文本;代替, 某些按键可以:
#### 移动光标
* **h**向左移动一个角色
* **j**向下移动一排
* **k**向上移动一排
* **l**向右移动一个角色
与许多vim命令一样行移动可以用数字作为前缀来移动s 一次几条线:
* **4j**向下移动4行
* **6k**向上移6行
基本单词动作:
* **w**移动到下一个单词的开头
* **b**移到上一个单词的开头
* **e**移到单词结尾
* **W**移动到空格后的下一个单词的开头
* **B**在空格之前移动到前一个单词的开头
* **E**在空白之前移动到单词结尾
线路运动的开始/结束:
* **0**移动到行的开头
* **$**移动到行尾
#### 操纵文本
#### 进入其他模式
**普通模式**是在使用Vim时应该花费大部分时间的地方。记得 这就是让Vim与众不同的原因。
在正常模式下,有多种方法可以在打开的文件中移动。此外 要使用光标键四处移动,可以使用`h` (左), `j` (下), `k` (上)和`l` (右)移动。这特别有助于打字打字员 不喜欢在做出改变时离开主行。
您还可以在正常模式下更改单个字符。例如,到 替换单个字符,将光标移到它上面然后按`r` ,然后按 要替换它的角色。同样,您可以删除单个字符 将光标移到它上面然后按`x` 。
要执行撤消操作,请在正常模式下按`u` 。这个改变直到最后 你处于正常模式的时间。如果要重做( _即_撤消撤消),请按 在正常模式下`Ctrl+r` 。
### 插入模式
这是第二种最常用的模式,也是最熟悉的行为 对大多数人来说进入插入模式后,键入插入字符就像常规字符一样 文本编辑器。您可以使用普通模式下的insert命令输入它。
插入命令包括:
* `i`为' **我**插入'这立即将vim切换到插入模式
* `a`关于“ **一** PPEND”这在当前字符之后将光标移动并进入插入模式
* `o`在当前行下方插入一个新行,并在新行上进入插入模式
这些命令也有大写的变化:
* `I`将光标移动到行的开头并进入插入模式
* `A`将光标移动到行尾并进入插入模式
* `O`在当前行上方插入一个新行,并在新行上进入插入模式
在Vim中插入文本的方法还有很多这里不能列出 但这些是最简单的。另外,请注意保持插入模式的时间过长; Vim是 不是设计用于插入模式的。
要退出插入模式并返回正常模式,请按`Esc`或`<C-[>`
### 视觉模式
可视模式用于选择文本,类似于单击和拖动的方式 鼠标表现。选择文本允许命令仅应用于选择,例如复制, 删除,替换等。
要进行文本选择:
* 按`v`进入可视模式,这也将标记一个起始选择点
* 将光标移动到所需的结束选择点; vim将提供视觉效果 突出显示文本选择
可视模式还有以下变体:
* `V`进入可视线模式,这将按行进行文本选择
* `<CV>`进入可视块模式,这将按块进行文本选择;移动 光标将选择文本的矩形
要退出可视模式并返回正常模式,请按`Esc`或`<C-[>` 。
视觉模式实际上具有多种子类型: _视觉_ _块视觉_和_线性视觉_
* _视觉_ :如上所述。按`v`进入
* _block-visual_ :选择任何矩形区域。按`<ctrl>+v`进入
* _linewise-visual_ :始终选择实线。按`<shift>+v`进入
### 命令模式
命令模式具有各种命令,可以执行普通模式 不能轻易做到。要进入命令模式,请从正常模式键入''然后 键入应该出现在窗口底部的命令。 例如,要执行全局查找和替换类型`:%s/foo/bar/g`要替换 所有'foo'都带'bar'
* `:`进入命令模式
* `%`所有行
* `s`意味着替代
* `/foo`是正则表达式来寻找要替换的东西
* `/bar/`是正则表达式来替换东西
* `/g`表示全局,否则每行只执行一次
Vim有许多其他方法您可以在帮助中阅读 文档, `:h`或`:help` 。
### 替换模式
替换模式允许您通过直接键入来替换现有文本。 在进入此模式之前,进入正常模式并放置光标 在您要替换的第一个字符的顶部。然后按'R'大写R来 进入替换模式。现在,无论您键入什么,都将替换现有文本。该 光标自动移动到下一个字符,就像在插入模式下一样。该 唯一的区别是您键入的每个字符都将替换现有字符。