《Vim实用技巧(第2版)》——第1章 Vim解决问题的方式 1.1认识 . 命令

本节书摘来自异步社区《Vim实用技巧(第2版)》一书中的第1章,第1.1节,作者:【英】Drew Neil(尼尔)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.1 认识 . 命令

. 命令可以让我们重复上次的修改,它是Vim中最为强大的多面手。
Vim文档只是简单地提到 . 命令会“重复上次修改”(参见screenshot),这听起来没什么特别,但在这个简单的说明里,我们会发现让Vim区分模式的编辑模型如此高效的核心原因。首先我们要问:“究竟什么是修改?”

要理解 . 命令的强大,我们需要意识到这一点:“上次修改”可以指很多东西,一次修改的单位可以是字符、整行,甚至是整个文件。

我们将使用下面这段文本进行说明。

the_vim_way/0_mechanics.txt

Line one
Line two
Line three
Line four

x 命令会删除光标下的字符,在这种情况下使用 . 命令“重复上次修改”时,就会让Vim删除光标下的字符。
screenshot
screenshot
我们可以输入几次 u 撤销上述修改,使文档恢复到初始状态。

dd 命令也做删除操作,但它会把整行一起删掉。如果在 dd 后使用 . 命令,那么“重复上次修改”会让Vim删除当前行。
screenshot
最后,>G 命令会增加从当前行到文档末尾处的缩进层级。如果在此命令后使用 . 命令,那么“重复上次修改”会让Vim增加从当前行到文档末尾的缩进层级。在下例中,让光标从第二行开始,以便一目了然地看出差别。
screenshot
screenshot
xdd以及 > 命令都是在普通模式中执行的命令,不过,每次进入插入模式时,也会形成一次修改。从进入插入模式的那一刻起(例如,输入 i),直到返回普通模式时为止(输入 <Esc>),Vim会记录每一个按键操作。做出这样一个修改后再用 . 命令的话,它将会重新执行所有这些按键操作(参见技巧8中的在插入模式中移动光标会重置修改状态部分中的补充说明)。

. 命令是一个微型的宏
在第11章“宏”中,我们将看到Vim可以录制任意数目的按键操作,然后在以后重复执行它们。这让我们可以把最常重复的工作流程录制下来,并用一个按键重放它们。可以把 . 命令当成一个很小的宏(macro)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值