Дополнительный вывод при запуске команд из zsh в Guake

В оболочке zsh у меня возникает следующая проблема. После того, как я нажмю команду в командной строке, она повторяется во второй строке, а также есть символ неприемлемости.

Командная строка Экранный снимок

Я запускаю zsh в Guake. Вот мой .zshrc :

a TERM = "screen-256color"

 # install zsh antigen source /usr/share/zsh-antigen/antigen.zsh # Load the oh-my-zsh's library. antigen use oh-my-zsh # Bundles from the default repo (robbyrussell's oh-my-zsh). antigen bundle debian antigen bundle autojump antigen bundle cp antigen bundle colorize antigen bundle command-not-found antigen bundle git antigen bundle zsh-users/zsh-syntax-highlighting # Set Home for VirtualEnvWrapper export WORKON_HOME="$HOME/.config/virtualenv" antigen bundle virtualenvwrapper antigen bundle tmux antigen bundle littleq0903/gcloud-zsh-completion # Tell antigen that you're done. antigen apply # using system powerline source /usr/share/powerline/bindings/zsh/powerline.zsh export MANPAGER="/bin/sh -c \"col -b | vim -c 'set ft=man ts=8 nomod nolist noma' -\"" 

Я начал удалять строки за строкой, чтобы проверить, какой из них вызывает проблему. Я считаю, что это «антиген, использующий oh-my-zsh».

Еще одна болевая точка: я пробовал много tmux.conf , но это просто не сработало, и это только и tmux=tmux -2 .

  • $ {! FOO} и zsh
  • Почему экспорт vim как EDITOR в zsh отключает быстрые клавиши?
  • Zsh - псевдоним с параметром
  • Надежная идентификация пути к каталогу, содержащему запущенный скрипт
  • У вас есть backticks (т.е. `cmd`) в * sh оболочках устарели?
  • zsh: отключить «файл существует:» предупреждение с перенаправлением
  • Команда ведет себя по-разному при сохранении в файле * .sh
  • Нарезка массива, содержащего пустые строки
  • One Solution collect form web for “Дополнительный вывод при запуске команд из zsh в Guake”

    Такие проблемы возникают, когда что-то печатает материал в stdout, когда они этого не делают, и, таким образом, обычно испортили приглашение редактора Zsh Line Editor или вывод команды. Нарушение печати, вероятно, выполняется с помощью функции hook, которую запускает редактор строк при выполнении пользовательской команды. Вы можете найти оскорбительный запрос печати / эха, выполнив поиск по телам функции hook:

     whence -f precmd $precmd_functions preexec $preexec_functions 

    Это функции hook, описанные в http://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions .

    Как упоминалось в предыдущих комментариях, оскорбительный вызов print / echo, вероятно, является неудачной попыткой говорить с терминалом, а не печатать на stdout. Обычно я бы «если» нарушил строку кода, например:

     if [[ $TERM != guake ]]; then print -n "\E]..." fi 

    но похоже, что Гекей не устанавливает ТЕРМ. Надеюсь, вы сможете найти другой способ определить, какой терминал работает. Или, возможно, просто очистить / изменить эти функции и массивы функций в вашем .zshrc.

    Linux и Unix - лучшая ОС в мире.