连接在Vim中由^ M字符分隔的行

时间:2015-08-24 09:45:43

标签: vim

我有一个CSV文件。由于某些原因,当我在ubuntu中使用vim打开它时,某些行似乎是这样的:

This is actually ^M
a line.

我希望结果是:

This is actually a line.

因此,我想删除所有^M个字符并连接由它们分隔的那些行。

2 个答案:

答案 0 :(得分:1)

^ M是一个回车符,可能这个文件是在Windows中创建的。您只需拨打dos2unix filename.csv

即可

在vim中,您可以执行:%s/^M//g,(按 ^ ,然后按 M ,同时按住 Ctrl 以获取{{ 1}})。

答案 1 :(得分:0)

首先你应该用正确的lineendings重新打开文件:

:edit ++ff=dos

为了防止将来出现这种错误,请将其放入 .vimrc

set fileformats=unix,dos

现在应该加入线条。

如果您只想加入^M结尾的行,请忘记上述内容并使用此命令:

:g/^M/ s/^M// | normal J

要输入^M,请按C-V,然后按Enter