Иногда мой zsh испортил конец строк

У меня есть эта странная проблема, что я не могу найти источник или решение.

«Иногда» мой zsh запутался и начал показывать конец строк забавным способом:

Скриншот

Как вы можете видеть, новые строки игнорируются, и я получаю смешной % в конце строки.

Знаете ли вы, что может вызвать это и как его решить?

Примечание. Я запускаю OS X, zsh внутри Iterm2 и Tmux.

One Solution collect form web for “Иногда мой zsh испортил конец строк”

На скриншоте показано, что называется «staircasing», где новая строка, отправленная с компьютера на терминал, автоматически не переводится в карету-возврат / линию-канал драйвером терминала.

Вы увидите это после запуска программы, которая временно изменяет режимы терминала, но не восстанавливает исходные режимы. Вы никогда не увидели бы это в результате котирования двоичного файла на экран.

Вы можете произвести это поведение на некоторых оболочках (другие, такие как tcsh восстанавливают режимы терминала после каждой команды). Вот пример использования dash :

 $ stty -a speed 38400 baud; rows 40; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke $ stty -onlcr $ stty -a speed 38400 baud; rows 40; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke $ 

Команда reset , как было предложено, сбросит режимы терминала, но также сбросит функции на самом терминале. Вы также можете использовать

 stty sane 

или более конкретно

 stty onlcr 

но reset включает в себя наименьшее типирование.

Дальнейшее чтение:

  • stty – изменение и печать параметров линии терминала
  • tset , reset – инициализация терминала
  • Безопасно ли удалить каталог .oh-my-zsh?
  • Выполнить команду в режиме zsh vim
  • Полный путь в glob в Zsh
  • Команда zsh git auto-complete добавляет дополнительное происхождение к имени ветки git
  • Лучше ли узнать местоположение скрипта, которое является частью модуля zprezto?
  • Команда zmv для переименования файла после сопоставления шаблона
  • Shell Script для перехода через рекурсивно и chmodding в соответствии с условиями типа файла
  • Удалить все, кроме самого большого файла определенного типа
  • Сделать zsh завершение показать первое предположение на той же линии (например, рыбы)
  • zsh сломал ключ и специальные символы
  • Завершения работы перестали работать после обновления zsh
  • Linux и Unix - лучшая ОС в мире.