Guakeのzshでコマンドを実行したときの追加出力

Guakeのzshでコマンドを実行したときの追加出力

zsh シェルには次の問題があります。コマンドプロンプトでコマンドを押すと、2行目で繰り返され、正規化されていない文字も含まれます。

コマンドプロンプトのスクリーンショット

Guakeでzshを実行しています。これは私のものです.zshrc

用語="画面-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' -\""

何が問題を引き起こしているかを確認するために、1行ずつ削除し始めました。私はそれが「oh-my-zshを使用する抗原」であると信じています。

別の問題:多くの努力をしましたが、うまくいきませんtmux.confでした。唯一効果があったのはこれとですtmux=tmux -2

ベストアンサー1

この問題は、何かを印刷してはいけない内容を標準出力に印刷するときに発生します。したがって、通常はZshラインエディタのプロンプトまたはコマンド出力を混乱させます。問題の印刷は、ユーザーコマンドの実行時に行エディタによって実行されるフック機能によって実行できます。フック関数の本文を検索して、問題のある印刷/エコー呼び出しを見つけることができます。

whence -f precmd $precmd_functions preexec $preexec_functions

以下は、次に文書化されたフック機能です。http://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions

前の説明で述べたように、問題の印刷/echo呼び出しは、標準出力として印刷するのではなく、端末と通信しようとして失敗した可能性があります。通常、次の方法で問題のあるコード行を「除外」します。

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

しかし、GuakeはTERMを正しく設定していないようです。どの端末が実行されているかを検出する他の方法を見つけることができることを願っています。あるいは、.zshrcでこれらの関数と関数の配列を消去または変更することもできます。

おすすめ記事