【问题标题】:Globally replace all ^M with newlines用换行符全局替换所有 ^M
【发布时间】:2016-01-02 23:15:54
【问题描述】:

我有一个带有fileformat=dos 的文件,其中vim 将所有换行符显示为^M。但是,当我尝试通过使用\r 替换所有出现的^M 来解决此问题时

:%s/<Ctrl-V><Ctrl-M>/\r/g

那么命令不是全局执行而是在第一个^M 字符被替换后停止?

【问题讨论】:

  • 试试 :%s//,然后是 ,然后是 /
  • 谢谢,但它不起作用。澄清一下:在上面的命令中,我在点击 . 后已经按下了
  • 您也可以使用 linux dos2unix 将 'dos' 文件转换为 'linux' 文件
  • gdefaultedcompatible 选项是否关闭?阅读:help s_flags

标签: vim replace newline vi


【解决方案1】:

感谢 Micheal 的评论,我找到了答案:

gdefault 或 edcompatible 选项是否关闭?阅读 :help s_flags。

设置:set nogdefault 后,替换现在是全局的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    相关资源
    最近更新 更多