【问题标题】:git add --patch shows "^m" when I hit return当我点击返回时 git add --patch 显示“^m”
【发布时间】:2016-02-02 10:22:53
【问题描述】:

有时当我使用 git add --patch 时,我的 Return 键和箭头键停止工作 - 当我按下它们时,我会看到奇怪的符号。

例如,如果我运行git add --patch 并点击“返回”、“左”、“右”、“下”、“上”(每个键之间有一个空格),这就是我现在看到的:

Stage this hunk [y,n,q,a,d,/,e,?]? ^M ^[[D ^[[C ^[[B ^[[A 

这显然是某种编码问题,但它只发生在需要用户输入(例如补丁)的git 命令中 - 当我回到正常的终端操作时,一切又正常了。

这种情况每天至少发生一次,我找到的唯一解决方案是关闭终端窗口并打开一个新窗口!

这是什么原因造成的,我该如何预防?

更多细节:我在 OS X 10.10.2 上的 Terminal 中使用 zsh。在终端首选项中,“文本编码”设置为 UTF-8

【问题讨论】:

    标签: git macos encoding terminal


    【解决方案1】:

    尝试使用stty -a 检查您的控制台配置 如果我的一个标志被签名为icrnl,我没问题。如果我把它改成-icrnl,结果和你的一样。

    要解决它只需执行 stty icrnl

    您甚至可以将其添加到您的 zsh 配置文件中。

    您也可以查看:https://askubuntu.com/questions/441744/pressing-enter-produces-m-instead-of-a-newline

    【讨论】:

    • stty icrnl 解决了这个问题,但我如何首先防止它发生呢?什么会改变我的 stty 配置?
    • 正如我所说,您可以在 zsh 配置文件中添加命令以确保从干净的终端开始,但是...如果您想尝试“捕获”更改的命令或程序您的 stty 配置,您可以尝试遵循本指南:shallowsky.com/blog/linux/debugging-mysterious-stty.html
    猜你喜欢
    • 2018-08-10
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 2020-07-08
    • 2011-07-16
    相关资源
    最近更新 更多