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

4.9 KiB
Raw Blame History

title localeTitle
Modes in Vim 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来 进入替换模式。现在,无论您键入什么,都将替换现有文本。该 光标自动移动到下一个字符,就像在插入模式下一样。该 唯一的区别是您键入的每个字符都将替换现有字符。