我有一个文件由于末尾有一个回车符 (0x0D) 而失败。它最初是回车符/换行符组合 (0x0D, 0x0A)。我试过:
- 在 INSERT 模式下删除它(删除最后一个打印字符并保留回车符)
%s/\r//
(E486: Pattern not found: \r
)%s/^M//
(Ctrl+V、Ctrl+M 获取^M
)(E486: Pattern not found: ^M
)J
与下一行连接(似乎对最后一行没有任何作用)
它们都保留回车符。
我怎样才能从内部摆脱这个角色vi
(不是vim
)?
编辑
现在,每当我保存文件时,它似乎都会添加一个换行符 (0x0A)。因此,0x0D 消失了,但我的文件末尾仍有一个无效字符。
我尝试添加两个空白行,看看它是否会添加 0x0A 或 0x0D、0x0A(我使用 Windows 中的 PuTTY),结果它添加了两个 0x0A 字符,总共三个。
如果有三行,难道您只需要两个行分隔符吗?
%s/\n//
(没有错误,但没有删除字符)
答案1
我终于在别处找到了答案:
:set noendofline binary
保存文件时删除最后的新行。