2

Vim 搜索和替换命令中的换行符使用什么字符?

我正在努力做到这一点:

1, 
2, 
3, 
4, 
5 

对此:1, 2, 3, 4 ,5

所以我想写这样的东西::%s/$/\b/g

但即使我设置它也没有用::set magic。我怎样才能做到这一点?

4

5 回答 5

8

换行符由 表示\n

因此,通过这样一个简单的示例,您可以将每个换行符替换为:

%s/\n//g

您可以替换每个逗号,后跟可选的空格,直到行尾带有空格,如下所示:

:%s/,\s*$\n/, /g

当然,J运算符很可能也能满足您的需求(尝试Jip在您希望连接的块内。或者根据您的textwidth设置自动换行:gqip.

于 2013-03-04T20:26:06.627 回答
3

你不需要:s这个就可以了:

gg5J
于 2013-03-04T20:26:47.140 回答
1

使用此搜索和替换命令:

:%s/,\n/, /g

\n字符与搜索字符串中的换行符匹配。

作为旁注,如果您想newline character在替换字符串中插入 a ,请确保使用\r

于 2013-03-04T20:27:26.253 回答
1

替代方案是:join命令。

:%j

有关更多信息,请参阅

:h :j
于 2013-03-04T22:53:23.627 回答
0

您可以使用可视模式来选择要加入的行

ggvGJ

gg将您带到文档的顶部。 v将您置于可视模式 G将您带到文档底部(从而突出显示所有行) J连接所选范围内的所有行。

于 2013-03-04T20:35:53.183 回答