初章:初识Vim
#Vim
2024-09-24
有安装 Vimplus 第三方插件让 Vim 更方便运用,但我因为个人开发习惯,选择在 Clion 上安装对应的 Vim 插件:
认识 . 命令
我们将看到 Vim 可以录制任意数目的按键操作,然后在以后重复执行它们。这让我们可以把最常重复的工作流程录制下来,并用一个按键重放它们。可以把 . 命令当成一个很小的宏。
总的来讲,.
就是重复你上次的行为:
.
在普通模式下的功能是重复 最后一次修改操作- 在插入模式下,执行所有修改操作都会被记录,直到你保存并返回到普通模式。如果你这个时候执行
.
就会重复从进入到插入模式到退回到普通模式所有的行为(包括插入命令本身哦!)。
有点需要特别说明,我们知道普通模式下 A 代表在当前行的末尾插入。那么这个命令不是单纯的插入,它实际由两部分组成,即跳转到当前行的尾部+插入。它应该被视为插入。举个例子说明:
- 你在普通模式下,光标位于一行的开头,按下
A
,跳转到行末,进入插入模式 - 在行末插入了 “Hello”,然后按
Esc
回到普通模式 - 按下
.
,光标会移动到当前行的末尾,进入插入模式,并插入 “Hello”
以退为进
1 |
|
为了应用 .
,我们务必使用这样一种命令,即带有某个功能的插入模式,这里选择 s,即删除一个字符并插入。执行之后,输入_+_
,保存并到普通模式,然后就可以找到到 + 字符那里,执行 .
即可。
存储这系列操作之后,我们应该查找所有字符进行逐一替换,而不是进行光标移动去一个一个找。f{char} 就能查找某个字符,查找到之后,执行 .
即可。
可是每次输入 f{char} 查找相当费时,当你第一次执行 f{char} 之后,下次输入 ; 就可以代表再次执行 f{char}。
注:_ 代表空格
执行、重复、回退
当 Vim 让一个操作或移动可以很方便地重复时, 它总是会提供某种方式, 让我们在不小心做过头时能回退回来。 对 . 命令而言, 我们永远可以按 u 键撤销上次的修改。 如果在使用 f{char} 命令后, 不小心按了太多次 ; 键, 就会偏离我们的目标。 不过可以再按 , 键跳回去。
⭐️内容取自著者Drew Neil《Vim实用技巧》,仅从中取出个人以为需要纪录的内容。不追求内容的完整性,却也不会丢失所记内容的逻辑性。如果需要了解细致,建议读原书