在句点(点)之后将1个空格增加到2但在vim中不多

rns*_*nso 2 regex vim

我正在使用vim中的一个简单文本文件,我希望在完全停止(点/周期)后以2个空格结束每个句子.但是,我不希望那些在完全停止后已经有2个空格的句子进一步增加空格.测试文本可以是:

This sentence has only 1 space after it. This one has two.  This line has again 1 space only. This is last line. 
Run Code Online (Sandbox Code Playgroud)

我试过了:

%s/\. /\.  /g
Run Code Online (Sandbox Code Playgroud)

但是这会将所有空间增加一个.我也试过了,但它不起作用:

%s/\.  \\([^ ]\\)/.  \\1/g
Run Code Online (Sandbox Code Playgroud)

我怎样才能在vim中实现这一目标?

Jim*_*m U 6

将所有句点替换为后跟空格的句点,后跟2个空格

%s/\. \+/.  /g
Run Code Online (Sandbox Code Playgroud)

  • 然而,引擎必须用这种方法处理每个“.”+空格(即使是只有 2 个空格的空格)。它还会缩小 `.` + 3 个或更多空格,并且问题中没有提及这一点。当使用“lookaround”时,实际上只替换相关的匹配项。 (2认同)