Vim在新品系上的奇怪行为
DOS新行(Vim在新品系上的奇怪行为,vim,Vim,DOS新行(0d0a)有问题,我试图在vim中替换它。我以前相信make已经有好几次了,但现在我真的被卡住了,因为vim不想看到这个角色: 当我试图通过按CTRLV和CTRLM来输入它以运行:%s/^M//g时,我看到了错误: E486:找不到模式:^M 即使当我试图用十六进制代码替换它为:%s/\%x0d//g,我也看到了错误: E486:找不到模式:\%x0d 一、 但是,可以删除/替换其他字符,例如:%s/\%x61//g 当我尝试:%s/\n/\r/g时,什么都没有发生 当我尝试用:%s
0d0a
)有问题,我试图在vim
中替换它。我以前相信make已经有好几次了,但现在我真的被卡住了,因为vim
不想看到这个角色:
CTRL
V
和CTRL
M
来输入它以运行:%s/^M//g
时,我看到了错误:
E486:找不到模式:^M
:%s/\%x0d//g
,我也看到了错误:
E486:找不到模式:\%x0d
一、 但是,可以删除/替换其他字符,例如:%s/\%x61//g
:%s/\n/\r/g
时,什么都没有发生:%s/\n/XXX/g
和:%s/XXX//g
分两步删除它时,它会消失。但是,如果我在第二步中使用了:%s/XXX/\r/g
,vim将0d 0a
插回,而不是预期的0a
因此,问题是:是否有办法将
vim
中的所有新行转换为0a
?为什么十六进制替换不起作用?请参见:帮助“文件格式”
:set ff=unix
:w
我应该这样做
顺便说一下,这是匹配的换行符:
:%s/\n/\r/
但它用新行替换新行,当你
写入缓冲区vim将使用任何行结束
由“文件格式”确定