Reputation: 480
When I save lines of data in excel files as tab delimited .txt files, and then open those files in VIM, I see that what was once a multi-line file in excel is now a single line file in VIM.
The "lines" can be separated in VIM using some substitution commands:
%s/^M/\r\n/g
After this, the "lines" are now separated by an ^@
.
I deal with it using another substitution command:
%s/^@//g
My questions are:
^@
?Upvotes: 3
Views: 6087
Reputation: 16184
Try this command:
:%s/^M/\r/g
\r
is the carriage return character vim uses. The ^M
character is a newline character that is literally displayed.
Upvotes: 1
Reputation: 22692
You can often fix problems like this by running the following command:
dos2unix FILE_NAME
This will re-format the file's newline characters in place (ie it will modify your file).
(This command does not exist on Mac OS X)
If you don't have dos2unix (eg you're on a Mac), you can just use sed:
sed 's/^M$//' input.txt > output.txt
You can also use sed -i
if you want to avoid creating a new file by performing the substitution in place.
You can enter ^M
by typing CTRLV followed by CTRLM
Upvotes: 2