在 iTerm 中某些情况下输入键打印 ^M

Sin*_*ein 6 terminal zsh git iterm2 macos

我在运行 MacOS Mojave 的 Macbook Pro 上使用 iTerm2。

在某些情况下,例如执行 a 时git add -p,按下会return结束打印^M而不是执行操作。

Stage this hunk [y,n,q,a,d,j,J,g,/,e,?]? ^M
Run Code Online (Sandbox Code Playgroud)

实际演示输出

这意味着我无法对大块头采取任何行动,因为我无法提交任何给定的选择。


我认为这可能是因为 git 处理返回的方式,所以我修改了core.autocrlf配置,但没有一个有效值会导致此行为发生任何变化。

然后在尝试其他方法时,我发现这个问题仅在使用时可见,iTerm而不是Terminal应用程序,尽管zsh两者都使用。


在这种情况下,我应该修改什么配置以允许返回键正常运行?

Lak*_*gha 32

出现此问题的原因是终端线路设置奇怪或旧。Unix 上的工具stty可以帮助您重置它们。

Iterm2我遇到了同样的问题Mac并使用它解决了它。

stty sane

此命令通过将终端异常重置为合理的默认值来修复它们。

请参阅man stty或阅读这篇好书以获取更多信息。http://www.peachpit.com/articles/article.aspx?p=659655&seqNum=13


小智 4

我重新启动了 iterm 选项卡,问题就解决了。