【Vim Masterclass 笔记11】S06L24 + L25:Vim 文本的插入、变更、替换与连接操作同步练习(含点评课)
文章目录
- S06L24 Exercise 06 - Inserting, Changing, Replacing, and Joining
- 1 训练目标
- 2 操作指令
- 2.1. 打开 insert-practice.txt 文件
- 2.2. 练习 `i` 命令
- 2.3. 练习 `I` 命令
- 2.4. 练习 `a` 命令
- 2.5. 练习 `A` 命令
- 2.6. 练习 `o` 命令
- 2.7. 练习 `O` 命令
- 2.8. 练习 `j` 命令
- 2.9. 练习 `R` 命令
- 2.10. 练习 `r` 命令
- 2.11. 练习 `c` 命令
- 2.12. 用 `~` 命令变更大小写
- 2.13. 练习 `U` 命令
- 2.14. 练习 `u` 命令
- 2.15. 重复命令练习
- 3 自由练习
- 4 退出 Vim
- S06L25 同步练习点评课
写在前面
介绍Vim
知识点的文章很多,但提供同步练习的配套文章却没有几篇。本篇是对第 21 课的配套练习,非常适合快速形成肌肉记忆,攻克Vim
核心基础操作。我也相信,即便我这样说了,对Vim
感兴趣的朋友也未必会下载练习文件同步实践,可能对他们而言学习Vim
还少了某些机缘。这篇文章本就是主要写给自己看的,我也无需过多宣传。
S06L24 Exercise 06 - Inserting, Changing, Replacing, and Joining
1 训练目标
练习 Vim
中的文本插入、变更、替换与连接。1
2 操作指令
2.1. 打开 insert-practice.txt 文件
用 Vim
打开源码包内的练习文件 insert-practice.txt
(默认解压到 Downloads
文件夹下):
cd Downloads
cd vimclass
vim insert-practice.txt
2.2. 练习 i
命令
切记,i
命令会在当前光标位置进入 Vim
插入模式。利用 i
命令在文件第一行开头插入一些文字。例如 "vim"
,然后按 Escape 键返回常规模式。
2.3. 练习 I
命令
按 2J 将光标下移至这一行文本:
<= What is your favorite color?
利用 I
命令在行首插入文字来回答上面的提问。例如,答案为 blue
(蓝色),然后按 Escape 键回到常规模式。
2.4. 练习 a
命令
按 2J 定位到下面这行文本,并练习在 ><
符号之间输入您的姓名。
Enter your name here =><=
为此,需要用 F> 定位到 >
字符下(注意:f
命令将在第 L23 课 Vim 文本检索中详细介绍,这里用于让光标快速定位到同一行的指定字符位置)。然后利用 a
命令从光标的后面进入插入模式。输入任意姓名,并按 Escape 键回到常规模式。
2.5. 练习 A
命令
按 2J 定位到下面这行文本,然后通过 A
命令在该行末尾进入插入模式,接着输入姓名。输入完毕,按 Escape 键回到常规模式。
Enter your name here:
2.6. 练习 o
命令
按 2J 定位到下面这行文本,键入 O 在当前行的下一行进入插入模式,然后输入您最喜爱的一部电影名。输入完毕,按 Escape 键回到常规模式。
One the line below, type the name of your favorite movie.
2.7. 练习 O
命令
按 2J 定位到下面这行文本,键入 ShiftO 在当前行的上一行进入插入模式,然后输入 vim
。按 Escape 键回到常规模式。
^^^ One the line above, type the name of the editor you are using.
2.8. 练习 j
命令
按 3J 定位到下面这行文本,尝试连接下列两行文本:
This line belongs
with the one below it.
完成相关操作后,文字将显示在同一行上:
This line belongs with the one below it.
为此,需要键入 ShiftJ。
2.9. 练习 R
命令
按 2J 定位到下面这行文本,试将单词 her
替换为 our
。
替换前:
Vim is her favorite editor.
替换后:
Vim is our favorite editor.
先按 ShiftFH 进行反向查,找将光标移至单词 her
中的 h
下方,然后通过 R
命令进入替换模式,并输入 our
。最后按 Escape 键回到常规模式。
2.10. 练习 r
命令
拟对如下文本行进行更改:
I have a white car.
更改后变为:
I have a white cat.
先按 2J 定位到下面这行文本,再用 FR 将光标定位到单词 car
的 r
字符下(注意:f
命令将在第 L23 课 Vim 文本检索中详细介绍,这里用于让光标快速定位到同一行的指定字符位置)。接着按 R 键启用替换命令,然后输入字符 t
完成替换。
2.11. 练习 c
命令
试将下列句子中的 great
变更为 brilliant
:
I am having a great time in this vim class!
最终变为:
I am having a brilliant time in this vim class!
先用 /GR + Enter 将光标定位到单词 great
的 g
字符下(注意:/
命令将在第 23 课 Vim 文本检索中详细介绍,这里仅用于将光标快速定位到 great
的 g
位置,支持跨行检索)。接着按 CW(即 change word,更改单词),再输入单词 brilliant
完成变更。最后,按 Escape 键回到常规模式。
接着,将下列句子中的 myself.
改为 everyone!
:
I love myself.
这是编辑后的效果:
I love everyone!
先将光标定位到 myself
的 m
字符上,可通过 /my
+ Enter 实现(注意:/
命令将在第 23 课 Vim 文本检索中详述,这里仅用于快速定位光标到指定位置,且支持跨行检索)。然后输入 cW
,实现带标点更改单词;接着再输入 everyone!
即可。最后,按 Escape 键回到常规模式(注意:本例也可以通过 c$
或 C
命令实现与 cW
命令相同的效果)。
最后,试将下列一整行文字改为任意内容:
Type something wonderful here.
先按 2J 定位到这行文本,然后键入 cc
命令,以实现整行更改。然后输入任意内容,例如 The sky is beautiful!
,并按 Escape 键返回常规模式。
2.12. 用 ~
命令变更大小写
将下列文字中单词 monday
的首字母改为大写:
monday <= The "m" is supposed to be in uppercase.
为此,需按 /m
+ Enter 进行正向检索,将光标定位到 m
处;然后键入 ~ 完成大小写转换。
将下列文字中的单词 shout
全部改为大写形式:
Don't shout. It's not nice.
为此,需按 /sh
+ Enter 进行正向检索,将光标定位到 s
下方;然后键入 G~W 实现大写转换操作。
再对下面一整行内容切换大小写:
mONDAY'S START BETTER WITH coffee.
最终效果如下:
Monday's start better with COFFEE.
为此,先按 2J 定位到这行文本的任意位置,然后键入 G</kbd><kbd> 完成整行字符的大小写切换。
2.13. 练习 U
命令
试将下列文字中的单词 Shout
改为 SHOUT
:
Don't Shout. It's just too loud.
为此,先用 /S
+ Enter 正向检索,将光标定位到 S
下方;然后输入命令 gUw
,完成单词的大写转换操作。
接着,在下一行再尝试一次,不过这次要改用 gUW
命令。
2.14. 练习 u
命令
将下列文字中的单词 Whisper
改为小写的 whisper
:
Please Whisper.
为此,先用 /W
+ Enter 正向检索,将光标放在 W
下方;然后输入 guw
完成小写转换(注意:本例中也可以直接使用 ~
命令)。
2.15. 重复命令练习
在下列文字的下面一行输入 80 个星号(*):
Create a line of asterisks below:
为此,先用 3J 将光标定位到该行文本的下一行;然后输入 80I 进入插入模式,拟重复执行 80 次;再键入 * 插入星号。最后按 Escape 键切回常规模式,并查看 Vim 自动插入的 80 个星号效果。
接着,再在下列文本行的下方三行,每行各插入一个连字符 -
:
Create 3 lines that begin with "-" below:
为此,先用 2J 定位到该行文本;然后使用 o
命令,键入 3O,并在新行中输入一个连字符 -;最后按 Escape 键切回常规模式,并查看 Vim 自动生成的另两行效果。
3 自由练习
鼓励自行尝试一些组合练习。最好是有个现成的文件需要修改,然后用 Vim
打开,用学到的文本插入、更改、替换与连接的知识来操作文件内容。
4 退出 Vim
若要放弃文件变更以便下次重新练习,使用退出命令 :q!
+ Enter。
S06L25 同步练习点评课
完全按上述操作进行,没有延伸知识。建议多思多练。
本节练习另附精美排版 PDF 格式,阅读体验更佳,详见:
vimclass/Exercise-06-InsertingChangingReplacingandJoining.pdf
↩︎