自学内容网 自学内容网

【Vim Masterclass 笔记12】S06L26 + L27:Vim 文本的搜索、查找及替换同步练习(含点评课)

写在前面
Vim 的文本检索、查找与替换的具体讲解用了两个课时,但同步练习环节却相对精简了很多。可能是因为大部分操作已经在前面两节的演示中说得差不多了,因此除了这篇同步练习,最好结合我梳理的知识点和思维导图,去找到一个真实的文本材料(比如配置文件、源代码文件等)进行实际演练。效果更好。

S06L26 Exercise 07 - Search, Find, and Replace


1 训练目标

练习 Vim 中的文本搜索、查找与替换。1

2 操作指令

2.1. 打开 search-practice.txt 文件

Vim 打开源码包内的练习文件 search-practice.txt(默认解压到 Downloads 文件夹下):

cd Downloads
cd vimclass
vim search-practice.txt

2.2. 同一行内的搜索练习

以下为练习文件的第一行:

The Time Traveller (for so it will be convenient to speak of him) was expounding

FF 将光标定位到该行单词 for 的首字符 f 上;再次键入 FF 将定位到下一个 off 字符位置。切记:在同一行重复该操作,按 ; 即可。

接着,将光标重新定位到 for 的首字母。做法:按 , 实现反向重复检索。

然后,将光标置于单词 Traveller 的开头,键入 ShiftF + ShiftT 实现反向查找。

再将光标置于单词 be 的前一个字符位置,即空格上。做法:利用 till 命令,输入 TB 即可。

将光标定位到单词 speak 的前一个字符(即空格)位置。做法:按 TS

最后,将光标定位到单词 for 后面的空格上。做法:按 ShiftT + R

2.3. 当前文件内的搜索练习

查找所有的 and ,并将光标定位到每个匹配项的开头位置至少一次。做法:键入 /and + Space + Enter(注意:若没有在 and 后添加空格,则单词 incandescent 也会视为匹配项)。接着用 N 重复上述操作,遍历当前文件中的所有匹配项。

然后掉转搜索方向,并反复按 ShiftN,让光标依次定位到各匹配项的开头位置。

最后,反向检索关键词 to。具体做法:键入 ?TO。再用 N 重复该操作直到反向检索一整圈;接着键入 ShiftN 掉转反向检索的顺序,直到再检索一整圈。

2.4. 单词搜索练习

将光标定位到文件中首次出现单词 iti 字母下方。实现方法:键入 GG 移至文件开头,然后按 2FI 直接定位到第二个 i 字母位置;然后输入 *,光标将移动到下一处单词 it 位置。按 N 重复上述操作,直到光标重新回到文件第一行。

接下来练习 Vim 的反向检索。先将光标定位到第二行的单词 us 上,可以用 J 下移一行,并通过 ShiftFU 反向检索字符 u。接着按下 # 键,就能将光标定位到文件最后一处 us 上。最后,通过按 N,直到将光标重新定位到出现在该文件第二行的 us 一词上。

2.5. 全局替换练习

将文中所有的 sat 替换为 laid。具体做法:先输入 :%s/sat/laid/g + Enter。切记:这里的 % 表示一个特殊范围,代表整个文件;而启用 g 标志主要是为了确保在同一行中出现的 sat 字样都能被替换为 laid。如果不确定某一行是否存在多个匹配项,则可以考虑用 g 标志来确保替换掉所有的匹配项。

3 退出 Vim

若要放弃文件变更以便下次重新练习,使用退出命令 :q! + Enter

S06L27 同步练习点评课

通常,完整单词匹配除了使用 *# 外,还可以在待检索的英文单词后面跟一个空格 <space>


  1. 本节练习另附精美排版 PDF 格式,阅读体验更佳,详见:vimclass/Exercise-07-SearchFindReplace.pdf ↩︎


原文地址:https://blog.csdn.net/frgod/article/details/145121630

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!