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