5

在 term enter 的某些操作停止使用 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)

4

1 回答 1

8

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

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

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

于 2012-12-06T15:20:40.120 回答