有时我的终端在终止进程后会搞乱换行符

有时我的终端在终止进程后会搞乱换行符

当我启动一个新终端时,它通常看起来像这样:

$ echo "test"; echo "blaat"
test
blaat

但有时在终端中运行一个用 SIGKILL 终止的进程后,我的终端开始出现奇怪的现象:

$ echo "test"; echo "blaat"
test
    blaat

就好像换行符不再从左边开始,而是从最后一行结束的位置开始。

例如,以下做法很糟糕:

$ ls -1 /
Applications
            Developer
                     Library
                            Network
                                   System
                                         Users
                                              Volumes
                                                     bin
                                                        cores
                                                             dev
                                                                home
                                                                    lost+found
                                                                              net
                                                                                 opt
                                                                                    private
                                                                                           sbin
                                                                                               usr
                                                                                                  etc
                                                                                                     tmp
                                                                                                        var

我对终端魔法了解不够多,无法理解为什么会发生这种情况,但如果我可以轻松修复它而不必关闭终端并重新启动它,那就太棒了。

我在 Mac OS X 上的 iTerm2 中运行 zsh,但我很确定这在 Terminal.app 上也会发生。

答案1

我自己找到了答案。运行此命令可使终端恢复正常:

$ stty sane

相关内容