set_prompt を定義した後、テキストエディタのテキストが壊れます。

set_prompt を定義した後、テキストエディタのテキストが壊れます。

set_prompt私は常に新しい行にプロンプ​​トを印刷するように設定しました。

set_prompt() {
   local curpos
   stty -echo
   while read -t 0; do :; done
   echo -en "\033[6n"
   IFS=';' read -s -d R -a curpos
   stty echo
   (( curpos[1] > 1 )) && printf "\n"
}

emacsただし、テキストエディタ(orなど)でファイルを編集すると、文字がnano間違った場所に印刷されるか、ナビゲーション中にカーソルが前後に移動してテキストが重なるようにテキストが混在します。


この時点で

PS1=\[\]$(git rev-parse --git-dir > /dev/null 2>&1 && git rev-parse --abbrev-ref HEAD 2>/dev/null || echo ${HOSTNAME})\[\]:\[\]\W\[\] Necktwi\[\]$\[\]
PROMPT_COMMAND=set_prompt

設定に加えて、set_prompt次のこともできます。

PS1='$(printf "%$((COLUMNS-1))s\r")'$PS1

しかし、これにもemacsテストされていない欠陥がありますが、nano上記のように悪くはありません。生成された偽の文字を削除して、それをはるかに少なく歪んだテキストに変更することができました。

ベストアンサー1

おすすめ記事