Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
当前回答
在VIM命令模式下:
:e ++ff=dos | setl ff=unix | up
e++ ff=dos -强制打开dos格式的文件。
Setl ff=unix -将文件转换为unix格式。
上保存文件时,仅当已修改。
其他回答
在vim中,使用命令:
: % s / \ r \ n \ r / g
想要搜索和替换的地方:
\ r \ n
into
\r
和
/g
是全球性的
注意,这与@ContextSwitch的答案相同,但带有全局标志
首先,使用:set ff?来确定文件的格式。
我猜可能是unix,那么问题是你的文件是用fileformat=dos创建的,在行末添加“^M^J”,但用flieformat=unix读取,只从行末删除“^J”,留下“^M”。
只需在Vim命令行中输入:e++ ff=dos即可将文件格式从unix更改为dos。这应该能解决问题。如果不是,:%s/\r//g会帮助你。
^M是由Ctrl+V和M检索的
s/^M//g
我用sed做了这个:
Sed -i -e 's/\r/\n/g'文件名
在串行控制台上,所有的vi和sed解决方案都不适合我。我不得不:
cat inputfilename | tr -d '\r' > outputfilename