如何替换句子

时间:2015-12-07 09:05:31

标签: regex vim regex-greedy

如何替换文字

输入: 这个玻璃杯含有1.5升牛奶。但我不喜欢牛奶

ouptput: Replace_text但我不喜欢牛奶

我需要将文本从开头替换为下一个完整点。但我不知道这句话是什么。

3 个答案:

答案 0 :(得分:6)

vim有句子的定义。您可以阅读:h sentence

对于您的示例,我会这样做(假设您的光标位于BOL处):

c)WAHTEVER

c)将删除第一句并进入INSERT模式。

要进行批量替换,您可以录制宏或使用normal命令。

答案 1 :(得分:2)

这个替换命令怎么样?

:%s/\(.\{1,}\)\.\(\w*\)/Replace_text\2/g

或使用字符类(您可能需要添加特殊字符等):

([\w\s]+\.\S[\w\s]+)\.(.*)

https://www.relishapp.com/rspec/rspec-expectations/v/3-4/docs/built-in-matchers/equality-matchers

答案 2 :(得分:1)

您可以执行以下操作

^ C ˚F

它会跳转到第一个非空白字符,删除包含.的文字并将您置于插入模式,以便输入Repace_text

如果您要更改到.,请使用 t 更改 f

您还可以使用文本对象。 c i s 会让你改变句子。