在shell中启动交互式命令时,Enter不起作用

时间:2012-12-06 14:54:30

标签: zsh line-breaks

在术语中的某些操作后,使用shell中的交互式命令停止工作 - 我仍然可以启动命令,但如果命令需要额外的输入,则在'^ M'处插入换行符。

示例:

$ git add -p .
diff --git a/app/models/coupon.rb b/app/models/coupon.rb
index 39df1f3..736ea62 100644
--- a/app/models/coupon.rb
+++ b/app/models/coupon.rb
@@ -3,6 +3,7 @@ class Coupon < ActiveRecord::Base
   COUPON_PRECREATE_EXPIRATION_BUFFER = 5.days
   COUPON_PRECREATE_COUNT = 15

+  include CommonNamedScopes

   belongs_to :coupon_list
   #belongs_to :couponable, :polymorphic => true
Stage this hunk [y,n,q,a,d,/,e,?]? y^M

(例如,使用cat时可能会遇到同样的问题)因此它与git无关。

有人可以建议为什么会这样吗?

iTerm2 Build 1.0.0.20120724

zsh 5.0.0(x86_64-apple-darwin11.4.2)

1 个答案:

答案 0 :(得分:5)

这通常是因为程序改变了终端的状态,但没有改变它。

尝试运行reset命令,看看是否能解决问题。

由于您正在使用zsh,因此您还可以使用ttyctl -f让zsh在命令运行后自动重置终端设置。但是在首先重置终端之前不要使用它,否则zsh会在破坏状态下冻结设置。