新しくインストールした Debian Bash では、sudo apt-get install git
を介してインストールした後、git の完了が異常に表示されます。
の部分は git revert
など通常のものです。ただし、git add
などの大きな部分は、完成項(xiàng)目が git a^[[m^[[Kdd
であるため、正常に使用できません。
すみません:
Bash のこの ^[[m^[[K
とは何ですか?
git
を削除するにはどうすればよいですか?
(以前 git-completion ソリューションを使用しましたが、古すぎて更新されていないため、新しい機(jī)能が完成しませんでした。)
閉關(guān)修行中......
もう一度強(qiáng)調(diào)しますが、ターミナルはターミナルであり、シェルはシェルです。ターミナルとシェルの違いがわからない人は常にいます...
この問題は、Bash がどれほど強(qiáng)力であっても、i3 を白黒モニターにカラー表示させることができないのと同じように、端末の不適切な設(shè)定が原因で発生します。 i7.
2 つのオプションがあります:
Git 補(bǔ)完の色付けをオフにする
ANSIエスケープコードをサポートするように端末を調(diào)整してください
ターミナル エミュレーターがカラーをサポートしている場合は、それを変更する $TERM
ことで通常は問題を解決できます。詳しい手順については、http://www.tldp.org/HOWTO/Text-terminal-HOWTO-16.html およびこのページのリンクを參照してください。
Bash では、この
^[[m^[[K
) は何ですか?^[[m^[[K
是什么?
是 ANSI escape code。^[
表示ESC鍵,而^[[
即ESC[
表示 CSI(Control Sequence Introducer),所以^[[m^[[K
表示 CSI m,CSI K。至于 CSI m 和 CSI K 表示什么意思就需要查表了。
CSI m 的完整形式是 CSIn
m,表示 SGR – Select Graphic Rendition,即控制臺中的文本的渲染效果。其中n
是0至多個(gè)參數(shù),當(dāng)沒有參數(shù)的時(shí)候就成了 CSI m,表示重置為默認(rèn)渲染效果。具體見這里。(自定義控制臺的 PS 也是通過這個(gè)來設(shè)置顏色的。) 例如,問題開頭的^[[1;43m
表示“加粗;紅色”渲染效果。
CSI K 的完整形式是 CSIn
K,表示 EL – Erase in Line,即刪除部分行。其中n
也是參數(shù),當(dāng)n
^[
は ESC キーを表し、^[[
は ESC[
を表します。 CSI (コントロール シーケンス イントロデューサ) なので、^[[m^[[K
は CSI m、CSI K を意味します。 CSI m と CSI K が何を意味するかについては、表を調(diào)べる必要があります。 ??
?? CSI m の完全な形式は CSIn
m です。これは、SGR – コンソール內(nèi)のテキストのレンダリング効果であるグラフィック レンディションの選択を意味します。ここで、n
は 0 からその他のパラメータです。パラメータがない場合は CSI m になり、デフォルトのレンダリング効果にリセットされます。詳細(xì)はこちらをご覧ください。 (カスタム コンソールの PS もこれを使用して色を設(shè)定します。) たとえば、質(zhì)問の先頭にある ^[[1;43m
] は、「太字; 赤」のレンダリング効果を表します。 ??
?? CSI K の完全な形式は CSIn
K です。これは EL – Erase in Line、つまり行の一部を削除することを意味します。このうち n
もパラメータです。 n
が 0 または省略された場合は CSI K となり、カーソル位置から行末まで削除することを意味します。その他の狀況については、Wikipedia の説明を參照してください。 ??