курсор останавливается в середине после нажатия клавиши Home

В терминале я изменил свой PS1.

Я думаю это, возможно, вызывая проблемы с разрешением мне нажать кнопку "Домой". Обычно путем нажатия кнопки "Домой" это, предполагают для возврата к первому символу на первой строке

мой быстрый файл: https://raw.github.com/chrisjlee/dotfiles/master/.prompt

# Setup color Variables
#############################
STARTFGCOLOR='\e[0;36m'
STARTBGCOLOR="\e[0;32m"
ENDCOLOR="\e[0m"

export PS1="\e[0;36m\n[ $STARTFGCOLOR$STARTBGCOLOR\u@\h\e[01;35m \w $STARTBGCOLOR$STARTFGCOLOR]\e[0;32m\n\e[0;35m]$ $ENDCOLOR"

Каждый раз, когда я восстанавливаю последнюю команду (путем удара кнопка в терминале) и нажимаю кнопку "Домой", она остановится на полпути. И затем символы не будут читать правильно

Кто-либо еще сделал, имеют эту проблему?

3
задан 20 March 2013 в 12:17

1 ответ

Необходимо перенести каждый цветовой код в завершенные квадратные скобки как это: \[colorcode\].

Пример:

STARTFGCOLOR='\[\e[0;36m\]'
STARTBGCOLOR="\[\e[0;32m\]"
ENDCOLOR="\[\e[0m\]"

Объяснение: удар должен вычислить продолжительность подсказки, таким образом, это может установить курсор правильно, когда Вы тесните. По любой причине удар не рассматривает цветовых кодов как занимающий место на экране. Необходимо явно сказать удару, что цветовые коды не занимают место, перенося их в завершенные квадратные скобки.

Посмотрите здесь для большего количества объяснения.

5
ответ дан 1 December 2019 в 15:46

Другие вопросы по тегам:

Похожие вопросы: