高级文本编辑技巧与vi编辑器的定制
复杂模式匹配示例
在文本编辑中,我们常常会遇到一些需要运用复杂模式匹配概念的任务。下面将通过几个具体的例子来介绍如何逐步解决这些问题。
1. 删除未知文本块
假设我们有一些行,其通用形式如下:
the best of times; the worst of times: moving
The coolest of times; the worst of times: moving
我们关注的这些行总是以“moving”结尾,但我们并不知道前两个单词是什么。我们希望将所有以“moving”结尾的行修改为:
The greatest of times; the worst of times: moving
由于这些更改必须在特定的行上进行,我们需要使用上下文敏感的全局替换。可以使用 :g/moving$/ 来匹配以“moving”结尾的行。接下来,我们意识到搜索模式可以是任意数量的任意字符,因此会想到使用元字符 .* 。但如果不加以限制,它们会匹配整行。我们的第一次尝试如下:
:g/moving$/s/.*of/The greatest of/
我们原本期望这个搜索字符串能从行的开头匹配到第一个“of”。
超级会员免费看
订阅专栏 解锁全文
5

被折叠的 条评论
为什么被折叠?



