Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
当前回答
只需删除二进制文件在你的。vimrc!
其他回答
:g/^M/s// /g
如果你用Shift+6 Caps+M输入^M,它不会接受。
你需要输入ctrl+v ctrl+m。
为了节省击键次数,可以将其放在映射中,从而避免键入Ctrl+VCtrl+M。只要打开一个包含^M字符的文件,把它拉出来,然后把它粘贴到你的.vimrc中的一行中:
nnoremap <Leader>d :%s/^M//g<CR>
在vim中,使用命令:
: % s / \ r \ n \ r / g
想要搜索和替换的地方:
\ r \ n
into
\r
和
/g
是全球性的
注意,这与@ContextSwitch的答案相同,但带有全局标志
要在MacOS上使用sed,请执行以下操作:
sed -i.bak $'s/\r//' <filename>
解释:这里的$'STRING'语法属于bash shell。mac电脑不把\r当作特殊字符。通过在$ "中引用命令字符串,你告诉shell将\r替换为ANSI-C标准中指定的实际\r字符。
就我而言,
上面没有工作,我有一个CSV文件从我的mac复制到Linux机器,我使用了所有上述命令,但没有帮助,只有下面一个
tr "\015" "\n" < inputfile > outputfile
我有一个文件,其中^M个字符被夹在行之间,如下所示
Audi,A4,35 TFSi Premium,,CAAUA4TP^MB01BNKT6TG,TRO_WBFB_500,Trico,CARS,Audi,A4,35 TFSi Premium,,CAAUA4TP^MB01BNKTG0A,TRO_WB_T500,Trico,