Когда я пытаюсь раскрасить bash
подсказку так:
export PS1="\e[0;31m[\u@\h \W]\$ \e[m "
он прерывает возврат каретки (вместо перехода на новую строку, когда строка заполнена, он начинается с той же строки и стирает введенный текст).
Если я уберу последовательность цветов, она будет работать нормально.
Я использую Ubuntu 11.10 и терминал (в guake та же ошибка).
Ответы:
Вы должны обернуть все escape-последовательности между
\[
и\]
для того, чтобы readline правильно вычислял видимую длину подсказки. Без них readline думает, что подсказка длиннее, и не знает, когда текст достигает поля.источник
\[
,\]
? Я думаю, но это, похоже, не работает для меня.skip-csi-sequence
предназначена для подавления последовательностей ввода , генерируемых специальными ключами.\e[xxm
последовательность, а не всю строку.\e[39m
на,\[\e[;39m\]
и он отлично работает[и] совет работал на bash и в OS X 10.8.2.
Я использую:
который показывает мне мою текущую используемую ветку git.
источник