3

当我将 excel 文件中的数据行保存为制表符分隔的 .txt 文件,然后在 VIM 中打开这些文件时,我发现曾经在 excel 中的多行文件现在在 VIM 中变成了单行文件。

“行”可以在 VIM 中使用一些替换命令来分隔:

%s/^M/\r\n/g

在此之后,“行”现在由 . 分隔^@。我使用另一个替换命令来处理它:

%s/^@//g

我的问题是:

  1. 为什么我的多行 txt excel 文件在 VI 中打开为单行?
  2. 是什么^@
  3. 有没有更好的方法来“修复”我的 txt 文件?
4

2 回答 2

2

您通常可以通过运行以下命令来解决此类问题:

dos2unix FILE_NAME

这将重新格式化文件的换行符(即它会修改您的文件)。

此命令在 Mac OS X 上不存在


如果您没有 dos2unix(例如您在 Mac 上),您可以使用 sed:

sed 's/^M$//' input.txt > output.txt

如果您想通过就地sed -i执行替换来避免创建新文件,也可以使用.

您可以^M通过键入CTRLV然后输入CTRLM

更多阅读在这里

于 2012-12-07T22:49:42.647 回答
1

试试这个命令:

    :%s/^M/\r/g

\r是 vim 使用的回车符。该^M字符是按字面显示的换行符。

于 2012-12-06T14:27:46.333 回答