Я использую Ubuntu 14.04, и у меня есть символьная проблема с моим терминалом.
Это - мой терминал, когда я пишу короткую команду, и это - мой терминал, когда я пишу команду с больше, чем символы, которые могут поместиться в строку.
Я пытался изменить различные шрифты, и я все еще получаю ту же проблему. Я также пытался изменить размер шрифта, но тем не менее ничто.
Также, если я пишу команду, которая похожа на вторую ссылку, и затем я пытаюсь удалить символы затем, вещи становятся действительно ужасными. После того как я начинаю удалять символы затем, остальная часть строки просто исчезает, но если я нажимаю Enter затем, команда интерпретируется правильно.
Что мне делать?
Какой терминал - это? Добавьте вывод echo $TERM
к Вашему вопросу.
Это может произойти, когда у Вас есть escape-последовательности (как сгенерировано tput
) в Вашей подсказке, которые не окружаются \[
и \]
. Те backslashed скобки говорят Bash, что escape-последовательности не занимают горизонтального места на экране. Без них вокруг escape-последовательностей Bash считает каждый байт escape-последовательности как видимый символ, который портит ранее отображенные команды, поскольку Вы двигаетесь вперед-назад через историю команд.
Чтобы проверить, есть ли у Вас escape-последовательности в Вашей подсказке, использовать echo "$PS1" | od -c
и символы lookfor со значением 033
. Если Вы разыскиваете их, то у Вас есть escape-последовательности в Вашей подсказке.
033
в Вашей подсказкеПроверьте где подсказка PS1
установлен: grep -i ps1 .*|less
Затем отредактируйте тот файл (часто, это находится в .bashrc
) и окружите последовательность \[
и \]
.