Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
当前回答
只需删除二进制文件在你的。vimrc!
其他回答
这个函数保存跳转列表
fun! Dos2unixFunction()
let _s=@/
let l = line(".")
let c = col(".")
try
set ff=unix
w!
"%s/\%x0d$//e
catch /E32:/
echo "Sorry, the file is not saved."
endtry
let @/=_s
call cursor(l, c)
endfun
com! Dos2Unix keepjumps call Dos2unixFunction()
^M给出不需要的换行符。要处理这个问题,我们可以使用sed命令,如下所示:
sed 's/\r//g'
要在MacOS上使用sed,请执行以下操作:
sed -i.bak $'s/\r//' <filename>
解释:这里的$'STRING'语法属于bash shell。mac电脑不把\r当作特殊字符。通过在$ "中引用命令字符串,你告诉shell将\r替换为ANSI-C标准中指定的实际\r字符。
在windows下,尝试:%s/<C-Q><C-M>/g
或者不使用vim,只需使用此命令修复换行符
fromdos <filename.txt>
希望能有所帮助!