4.2. 技巧1 初识点(.)命令

未匹配的标注

4.2 技巧1 初识点(.)命令

点(.) 这个命令让我们重复最近的更改。它是 Vim 里面最强大、最多功能的命令。

Vim 的文档简单地说明点(.)命令重复最近的更改(见 :h . )听起来不是很多,但是在那个简单的定义里,我们将找到使得 Vim 的模态编辑模型如此有效的核心。首先我们必须要问“什么是一个更改?”

为了理解点(.)命令的威力,我们需要意识到“最后一次更改”可能是许多事情的其中一个。一个更改可以作用在单个字符、整行甚至整个文件的级别上。

我们将使用下面这一小段文本来展示:
the_vim_way/0_mechanics.txt
Line one
Line two
Line three
Line four

x 命令删除光标下的字符。当我们在这个上下文中使用点(.)命令时,“重复上一次更改” 就告诉 Vim 去删除光标下的字符:

image-20221112164725204

我们能通过按几次 u 键来撤销更改,进而将文件恢复到它原来的状态。

dd 命令也执行了一个删除,但是它作用在当前整行上。如果我们在 dd 命令后使用点(.)命令,那么“重复上一次的更改” 就指引 Vim 去删除当前行:

image-20221112164804159

最后, >G 命令增加了从当前行到文件末尾的缩进。如果我们在这个命令后跟着一个点(.)命令,那么“重复上一次的更改” 就告诉 Vim 去增加从当前位置到文件末尾的缩进程度。在本例中,我们将从第二行的光标开始来突出这个差异。

202211121636739.png

命令 x , dd> 都在正常模式下被执行,但是我们也会在每次进入插入模式的时候创建一个更改。从我们进入插入模式的时候(比如按 i )直到我们(通过按 <Esc>  )返回正常模式的时候,Vim 记录了每一次的键击。在进行了这样的更改后,点(.)命令将重复我们的键击动作。(注意:插入模式下的移动重置更改)。

动画演示

practical-vim-4.2

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~