首页 > 代码库 > vim编译器下的 . 命令(点命令)

vim编译器下的 . 命令(点命令)

时间:2014.06.28

地点:基地

--------------------------------------------------------------------------------------

注:为了说明将vim下的 .  命令称呼为 点命令

一、点命令简述

  vim文档大概是这么说的:点命令的功能即重复上一次的修改。

  那么我们应该明确的是上次的修改是一个什么样的概念?上次修改是一个什么样的粒度或范围。

上一次修改的单位可以是:

a.对某个字符的修改(比如:删除某个字符)

b.对某一行的修改(比如:删除一行)

c.对文件的一次修改(比如:进入插入模式起到退出插入模式这一阶段所有按键操作)

--------------------------------------------------------------------------------------

二、点命令的操作

针对上面,点命令即为重复上一次操作:

1.比如在某一刻,我们使用 x 命名删除了光标下的字符,这样就形成了一次删除光标下的字符操作,紧接着我们使用点命令,那么就会执行删除光标下的一个字符操作。

2.比如在某一刻,我们使用 dd命令删除光标所在的一行,这样就形成了一次删除光标所在行的操作,紧接着我们使用点命令,那么就会执行删除当前光标所在行操作。

3.比如在某一刻,我们使用 >G 命令用于增加从当前行都文档末尾处的缩进,这样就形成了一次缩进部分文档操作,紧接着我们使用点命令,那么就会执行从当前光标处到文档尾的缩进操作。

在上面这些 x dd >G操作中,这三个命令都是在普通模式下执行的命令,还有一种情况就是:

4.每当我们进入插入模式时,也会形成一个修改单位,即从进入插入模式起,直到返回普通模式为止,这一期间所有按键操作都将被记录为一次修改操作之中,接着我们使用点命令,就相当于把上述记录的这些按键全部重按了一遍,包括进入插入模式命令和退出插入模式命令,用数学集合的表述,这一次修改是一组按键操作集为:[ i .......Esc ],在次基础上使用点命令相当于把集合中的按键操作都又执行一次,表现为为文件追加重复内容。