zsh端末の長い改行の問題

zsh端末の長い改行の問題

ターミナルでバイパスが長くなる問題があります。この問題を解決するためにプロンプ​​ト環境変数を変更するのに役立つ人はいますか?私のプロンプト環境変数は次のとおりです。

function parse_git_branch() {
    git branch 2> /dev/null | sed -n -e 's/^\* \(.*\)/[\1]/p'
}

COLOR_DEF=$'\e[0m'
COLOR_USR=$'\e[38;5;243m'
COLOR_DIR=$'\e[38;5;197m'
COLOR_GIT=$'\e[38;5;39m'
setopt PROMPT_SUBST
export PROMPT='${COLOR_USR}%n${COLOR_DIR}@%m ${COLOR_GIT} %1d$(parse_git_branch)${COLOR_DEF}$'

私の問題はここに説明されています。https://github.com/vercel/hyper/issues/1566

ベストアンサー1

この11個の文字/バイトは実際にスペースを取らず、幅も0であることをzshに知らせる必要があります$'\e[38;5;243m'。これにより、行エディタが画面の右端に達したときにこれがわかります。

zshように、他のすべてのエスケープシーケンスと同じようにtcshまとめて実行されます。%{...%}

PROMPT=$'%{\e[38;5;243m%}'

また、これを使用して、%5{weird stuff%}内部コンテンツを5列の幅で表示する必要があることをzshに指示することもできます。info zsh 'prompt expansion'詳細より。

ただし、ここでは、これらのエスケープシーケンスを直接ハードコードするよりも、前景色243を使用するように指示すること%F{243}をお勧めします。zsh

おすすめ記事