网站开发项目实训总结,无锡哪个网站建设比较好,东丽区 网站建设,营销网站建设广西文章目录 S06L22 Search, Find, and Replace - Part One1 从光标位置起#xff0c;正向定位到当前行的首个字符 b2 从光标位置起#xff0c;反向查找某个字符3 重复上一次字符查找操作4 定位到目标字符的前一个字符5 单字符查找与 Vim 命令的组合6 跨行查找某字符串7 Vim 的增… 文章目录 S06L22 Search, Find, and Replace - Part One1 从光标位置起正向定位到当前行的首个字符 b2 从光标位置起反向查找某个字符3 重复上一次字符查找操作4 定位到目标字符的前一个字符5 单字符查找与 Vim 命令的组合6 跨行查找某字符串7 Vim 的增量查找8 Vim 搜索的高亮显示9 全局搜索与替换的快速交替操作10 反向全局搜索11 查找光标所在的下一个单词12 查找光标所在的上一个单词13 全局搜索 motion 与 D 命令的组合应用14 全局搜索 motion 与 Y 命令及寄存器的组合应用 写在前面 开年这几天利用假期和难得的空闲时间突击翻完了李笑来的《自学是门手艺》收获很大。书中最后也提到了 Vim 的学习觉得很有必要把这个专栏笔记整理完争取在春节前顺利收官。本篇为第 6 章第 22 课的自学笔记也是全套课程最为核心的几节操作课主要介绍文本的检索、单词单字的匹配以及常用的替换技巧因时长限制Jason 讲师特地分为两部分介绍。本课为第一部分第 23 课为第二部分。知识点不仅密集而且应用灵活性极强需要结合示例文件用心体会、反复练习形成肌肉记忆。如果 Vim 真的有捷径那必定是大量实践、反复琢磨这条路。 S06L22 Search, Find, and Replace - Part One
1 从光标位置起正向定位到当前行的首个字符 b
按 FB即 F {char}
查找该行首个大写字母 A按 F ShiftA
注意f 键查找是 区分大小写 的。
2 从光标位置起反向查找某个字符
反向查找ShiftF {char}。例如反向定位到光标左边最近一个 z按ShiftF Z。
正向查找forward search
反向查找backward search / reverse search
3 重复上一次字符查找操作
正向重复查找按 ;
反向重复查找按 ,
4 定位到目标字符的前一个字符
正向按 T {char}
反向按 ShiftT {char}
例如正向定位下一个 i 左边前一个的字符TI
再如反向定位上一个 i 右边即反向的前一个的字符ShiftT I
同理可使用 ; 和 , 分别重复定位到下一个 {char}、且在它前面正向为左边反向为右边的那个字符。
注意无论是 f 查找还是 t 查找; 始终与上一次查找的方向保持一致而 , 始终与上一次的方向相反。
此外这两类查找也支持数量词 {count}。例如从当前位置开始正向查找当前行的第 2 个空格字符需键入2FSpace 【复习】 重复上一次 Vim 命令用的是 .而这里的 f 查找和 t 查找对应的是动作 motion并且可能存在多个匹配项所以只能按 ; 或 , 进行正反向浏览。 与此同时也正因为这些查找属于 motion 动作而非 command 命令它们也可以和前面学过的其它 command 命令组合使用如 c / d / y 命令等 5 单字符查找与 Vim 命令的组合
对于下列文本内容
Delete THIS--- word.按 F ShiftT 将光标定位到大写字母 T 后需要删除字符 T包含到字符 w不包含之间的内容至少有三种解决方案
用 D TW用 D FSpace还可以用前面介绍的 D ShiftW
6 跨行查找某字符串
使用 / {target_string}
例如正向跨行查找字符串 and/ and
正向快速匹配下一个目标按N
反向快速匹配则按ShiftN
一直按 N 匹配到当前文件的最后一个目标字符串后再次按 NVim 会提示 search HIT BOTTOM, continuing at TOP并将光标定位到文件第一处匹配项反之亦然 【图 22-1 跨行查找到最后一处关键字后Vim 提示继续查找将从文件开头重新开始】
想要重新检索其他字符串键入 / {new_string} 即可。
7 Vim 的增量查找
增量查找incsearch即 incremental search 是 Vim 中的一个配置项启用该配置项后Vim 会在输入搜索关键字的过程中实时显示最新的匹配结果。也就是说可以看到搜索结果的 即时反馈而不必等到输完搜索字符串后再进行查找。
相关操作增量搜索命令查看:set is? / :set incsearch?开启:set is / :set incsearch关闭:set nois / :set noincsearch切换:set is! / :set incsearch!
8 Vim 搜索的高亮显示
搜索高亮显示hls全称 hlsearch即 highlight search默认关闭。开启后当前文件所有的匹配项都将高亮显示直到换成其他关键词或者关闭高亮。相关配置命令如下
相关操作高亮显示命令查看:set hls? / :set hlsearch?开启:set hls / :set hlsearch关闭:set nohls / :set nohlsearch切换:set hls! / :set hlsearch!临时关闭:nohls / :nohlsearch
注意临时关闭只对当前匹配结果生效只要用 / 重新检索Vim 就会重新恢复高亮显示。
关于 Vim 偏好的具体配置后续还会重点介绍这里暂不展开。
9 全局搜索与替换的快速交替操作
先用 /{keyword} 搜索然后用 cw 等命令替换为其他关键词后续再通过 N 和 . 快速定位、快速替换实现快速交替操作。
例如全文检索 and 后替换为 并利用 N 和 . 实现快速交替执行。
10 反向全局搜索
反向搜索backward search或者 reverse search使用? {keyword}。
例如从当前光标位置开始反向检索关键词 is? is
同理重复下一个匹配项即向上查找使用 N逆向操作使用 ShiftN即向下查找。
11 查找光标所在的下一个单词
使用星号键 *。
例如光标定位到单词 is 的任一字符上键入 * 可以全局匹配到下一个单词 is继续按 * 或者 N 可匹配下一处上一处用 ShiftN。 注意 * 只能匹配单词 is无法匹配像 episode、sister 这样关键词出现在中间的情况因为 * 表示匹配完整单词matching an entire word。 12 查找光标所在的上一个单词
使用 $重复该操作使用 $ 或 N逆向操作仍然使用 ShiftN。
13 全局搜索 motion 与 D 命令的组合应用
全局搜索本质上也属于 motion 操作因此同样可以与 command 命令组合使用。例如删除当前光标到下一处 This不含之间的文本内容 【图 2全局搜索与命令的组合示例删除当前光标到 This 间的内容操作前】
键入 D/ This Enter得到如下结果 【图 3执行 D/This Enter 后的最终结果】
14 全局搜索 motion 与 Y 命令及寄存器的组合应用
此外也可以将组合操作的内容放入某个寄存器。
例如将文件初始位置到下一个 z 之间的内容存入寄存器 a。
操作前光标位于起初位置 【图 4Y 命令 全局搜索 寄存器操作示例操作前】
依次键入 AY/ z Enter并查看寄存器 a 的内容得到如下结果 【图 5执行 ay/z Enter 操作后查看寄存器 a 中的内容操作成功】 后记 Vim 的使用我觉得是计算机领域少有的 “先易后难” 技能为了今后的流畅体验现在苦一点累一点是非常值得的。能否熟练使用 Vim 也是评价一个人计算机综合素养的重要指标之一。 第一部分完