Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
当前回答
在vim中,使用命令:
: % s / \ r \ n \ r / g
想要搜索和替换的地方:
\ r \ n
into
\r
和
/g
是全球性的
注意,这与@ContextSwitch的答案相同,但带有全局标志
其他回答
或者不使用vim,只需使用此命令修复换行符
fromdos <filename.txt>
希望能有所帮助!
这个问题有很多其他的答案,但仍然,下面的最适合我,因为我需要一个命令行解决方案:
vim -u NONE -c 'e ++ff=dos' -c 'w ++ff=unix' -c q myfile
解释:
不加载任何.vimrc文件,打开myfile 执行:e++ ff=dos命令,在dos行结束时强制重新加载整个文件。 执行命令w++ ff=unix,使用unix行结束符写入文件 vim辞职
这招对我很管用:
:% s/\r\n/\r
只需删除二进制文件在你的。vimrc!
以上这些方法对我都没用。(替换\r, ^M, ctrl-v-ctrl-m) 我使用复制和粘贴将我的文本粘贴到一个新文件中。
如果你有宏干扰,你可以尝试:在粘贴操作之前设置粘贴,在粘贴操作之后:设置nopaste。