【问题标题】:Remove carriage return from output in Sublime Text 3从 Sublime Text 3 的输出中删除回车
【发布时间】:2016-02-08 02:46:10
【问题描述】:

我正在学习 ipython 进行数据分析,我想使用我最喜欢的文本编辑器 Sublime text。但是,我遇到了“CR”、回车、输出而不是我想要显示的原始“东西”的问题。这使得复制/粘贴到另一个位置很麻烦,因为我必须手动删除这些字符。看着也很郁闷。

这是我正在使用的教科书中的一个例子:

在终端中运行相同的命令,它工作正常

虽然它在终端中正确显示,但我真的很想在 sublime 中使用 REPL,因为它有自动完成和代码智能等有用的插件。我尝试更改用户设置 default_line_ending 但没有任何帮助。如果有人知道如何摆脱这些回车或至少将它们隐藏在输出中,我会很高兴。

谢谢

【问题讨论】:

  • file names/yob1880.txt 说什么?也许试试dos2unixsed -e 's/\r//'...
  • @Kenney 感谢您的评论。它只是一个明文文件,每行都有姓名、性别、出生人数。我尝试转换为 unix,但我仍然在输出中获得 CR。
  • 好的。带有 unix 行结尾的纯文本文件上的 file 命令会说“ASCII 文本”;对于 DOS 文件“带有 CRLF 行终止符的 ASCII 文本”,在你的情况下,我不知道它在说什么。在我看来,行尾是 CRCRLF(\r\r\n,您可以使用hexdump -C 进行验证:会有0d 0d 0a 模式),需要修复;我知道的任何编辑器中都没有设置可以解决这个问题。你知道如何在正则表达式模式下用空字符串 search and replace\r 吗?
  • @Kenney 没有意识到这是一个命令,输出是“names/yob1880.txt:ASCII 文本,带有 CRLF 行终止符”。 hexdump 中也没有“0d 0d 0a”模式,只有“0d 0a”

标签: sublimetext3 sublimetext sublime-text-plugin sublimerepl


【解决方案1】:

如果您的终端支持,可以尝试以下命令删除现有的 CR:

sed -i 's/\r//g' FileWithCarriageReturns.foo

sed 是一个流编辑命令,当如上执行时,将搜索指定的 'FileWithCarriageReturns.sh' 并从文件中删除所有回车符(视为 \r )

完成此操作后,进入 Sublime Text 设置并将默认行尾属性覆盖为 'unix':

{ “default_line_ending”:“unix” }

【讨论】:

    猜你喜欢
    • 2014-02-08
    • 2016-02-07
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    • 2015-02-04
    • 2023-03-24
    • 2018-12-29
    相关资源
    最近更新 更多