为什么vim有时显示^ M,有时却不显示(即使它们在那里)?

jshort

我正在尝试从项目git repo中删除所有CLRF字符。我正在编写一个命令来递归地遍历仓库,以查找实例。但是,在vim中打开时,某些“匹配”非常明确地表明存在^ M,而另一些则不显示这些字符。

但是,运行时

file <filename without visual ^M> 

它说

blah.java ASCII Java program text, with CRLF line terminators

od -cx <filename without visual ^M>

整个过程以\ r \ n返回。

我只是很感兴趣,为什么vim有时显示它们,而有时却不显示它们。

编辑:

我创建了一个测试文本文件,并手动添加了^ M(即ctrl V + ctrl M),并且vim显示了这些字符。然后我跑了:

sed -i '' -e 's/\r//g' controlm.txt

并用vim打开文件,视觉上的^ M不见了,但是od -cx仍然显示\ r \ n,但是我随后运行了

sed -i '' -e 's/^M//g' controlm.txt

然后它不仅删除了vim中的视觉^ M,而且我已经确认od -cx显示\ r \ n现在只是\ n。

贡特拉姆·布洛姆(Guntram Blohm)

这个问题最好在Superuser.com上而不是在这里问,因为它是关于使用vim而不是编程。但是要回答:

打开文件时,vim尝试检测它是MS-DOS / Windows还是Unix文件。如果所有行均以终止\r\n,则可能是一个DOS文件,如果仅其中一些终止,vim也可能采用unix。如果文件格式设置为DOS,则vim\r在读取文件时会忽略,并在读取文件后立即在状态行中显示[dos]。

回写文件时,它以\r\n;结束每一行如果文件格式为unix,则以结束行\n您可以使用以下命令设置模式

:se fileformat=unix

或者

:se fileformat=dos

尝试x.txt在Windows中创建文件,然后在vim中打开它。然后,:se fileformat=unix:w y.txt然后:se fileformat=dos:w z.txt使用来测试y.txt和z.txt od cxy.txt会有\r\n行尾,z.txt不会。

当文件中只有部分(而不是全部)行以结尾时\r,例如,如果(unix)git向\r在dos / windows上创建的文件中添加了一些标头(不带),则文件格式检测将首先查看标头,并假定为unix ,\r在读取时不会从文件的其余部分删除,而是显示为^M

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么有时显示背景而有时不显示背景?

来自分类Dev

pip:为什么有时不显示 twine 命令

来自分类Dev

为什么git有时显示但有时却不显示消息“您的分支比n个提交领先于'whatever / upstream'?”

来自分类Dev

在htop的命令列中,有时显示完整路径,有时则不显示。为什么?

来自分类Dev

为什么`:type`有时显示`a`,而有时显示`t`?

来自分类Dev

为什么显示的图像有时显示而其他时间不显示?

来自分类Dev

为什么网页有时在刷新前有时显示为纯HTML

来自分类Dev

为什么有时仍显示_site文件以进行提交?

来自分类Dev

firebase data recyclerview 有时什么都不显示

来自分类Dev

为什么有时在集合视图单元格中不显示图像视图?

来自分类Dev

为什么Jenkins工件有时不显示为链接?

来自分类Dev

有时不显示波纹效果

来自分类Dev

React 组件有时不显示

来自分类Dev

为什么滚动条有时会显示在 Chrome 扩展中有时不会显示

来自分类Dev

Vue.js refs是未定义的,即使this。$ refs显示它们在那里

来自分类Dev

为什么`.asInstanceOf`有时会抛出,有时却不会抛出?

来自分类Dev

为什么AS有时会接受大位移而有时却不接受?

来自分类Dev

音量滑块图形有时显示,有时不显示

来自分类Dev

android工具栏有时显示活动名称,有时不显示

来自分类Dev

在javascript中,有时显示文字,有时不显示

来自分类Dev

为什么DataGrip有时只显示查询执行时间?

来自分类Dev

为什么有时我的图像无法在模拟器中显示?

来自分类Dev

为什么我的定制按钮有时显示不正确?

来自分类Dev

为什么点状 CSS 边框有时显示为正方形而不是圆形?

来自分类Dev

为什么别名有时像nameref一样起作用,有时却不起作用?

来自分类Dev

为什么此URLClassLoader有时起作用而有时却不起作用?

来自分类Dev

为什么“ .kt”扩展名有时可见而有时却不可见?

来自分类Dev

为什么gpg --list-keys有时打印子键,有时却不打印子键?

来自分类Java

为什么这些矩形有时会显示它们正在碰撞,即使它们没有碰撞?

Related 相关文章

  1. 1

    为什么有时显示背景而有时不显示背景?

  2. 2

    pip:为什么有时不显示 twine 命令

  3. 3

    为什么git有时显示但有时却不显示消息“您的分支比n个提交领先于'whatever / upstream'?”

  4. 4

    在htop的命令列中,有时显示完整路径,有时则不显示。为什么?

  5. 5

    为什么`:type`有时显示`a`,而有时显示`t`?

  6. 6

    为什么显示的图像有时显示而其他时间不显示?

  7. 7

    为什么网页有时在刷新前有时显示为纯HTML

  8. 8

    为什么有时仍显示_site文件以进行提交?

  9. 9

    firebase data recyclerview 有时什么都不显示

  10. 10

    为什么有时在集合视图单元格中不显示图像视图?

  11. 11

    为什么Jenkins工件有时不显示为链接?

  12. 12

    有时不显示波纹效果

  13. 13

    React 组件有时不显示

  14. 14

    为什么滚动条有时会显示在 Chrome 扩展中有时不会显示

  15. 15

    Vue.js refs是未定义的,即使this。$ refs显示它们在那里

  16. 16

    为什么`.asInstanceOf`有时会抛出,有时却不会抛出?

  17. 17

    为什么AS有时会接受大位移而有时却不接受?

  18. 18

    音量滑块图形有时显示,有时不显示

  19. 19

    android工具栏有时显示活动名称,有时不显示

  20. 20

    在javascript中,有时显示文字,有时不显示

  21. 21

    为什么DataGrip有时只显示查询执行时间?

  22. 22

    为什么有时我的图像无法在模拟器中显示?

  23. 23

    为什么我的定制按钮有时显示不正确?

  24. 24

    为什么点状 CSS 边框有时显示为正方形而不是圆形?

  25. 25

    为什么别名有时像nameref一样起作用,有时却不起作用?

  26. 26

    为什么此URLClassLoader有时起作用而有时却不起作用?

  27. 27

    为什么“ .kt”扩展名有时可见而有时却不可见?

  28. 28

    为什么gpg --list-keys有时打印子键,有时却不打印子键?

  29. 29

    为什么这些矩形有时会显示它们正在碰撞,即使它们没有碰撞?

热门标签

归档