У меня есть cygwin, установленный на моем ящике Windows 7, и я столкнулся с проблемой, когда , когда я набираю команду, она иногда будет обернута обратно на той же строки, удалив подсказку bash. Вот пример:Cygwin обертывает текст обратно в ту же строку, заставляя текст перезаписываться
Команда в вопросе команда «201» (4 линии от дна). Я включил других в контекст.
Текст команды я печатал был
git commit -m "Forced LF line endings."
(Примечание: Я отправляю это в основном с GIT команд, но проблема возникает с любой командой я не заметил шаблон еще. .)
Он прыгнул на начало линии и начал перезаписывать мое приглашение.
Когда я нажимаю стрелку вверх (для просмотра истории) результат еще страннее:
(Обратите внимание, что курсор находится много символов после конца команды.) Когда стараюсь курсора назад с этой позиции, я могу только вернуться далеко:
Тогда, когда я идти в историю с этой backspaced линии, я получаю это:
Команда начинается с конца текста, который отображается. (Это согласовано на протяжении всей истории). Но когда я поднимаюсь в истории до неисправного git commit ...
, он отображается, как и раньше, с перезаписанным текстом, но когда я прохожу мимо него, удаляет строку строки и отображает предыдущую запись в истории так же, как и раньше (a la image 2).
Когда я создавал свою переменную PS1, у меня есть нечетный вывод, как это, но с тех пор я закрыл свои скобки и все, и не думаю, что это вызывает проблему. Однако, если вы хотите увидеть мой .bash_profile
(который устанавливает PS1), не стесняйтесь видеть его на GitHub. Это действительно коротко.
Я попытался найти проблему и могу найти только несколько электронных архивов cygwin об обертке строк в xterm, но никаких решений.
PS: Как я толкал последнюю .bash_profile
для того, чтобы связать его, я снова столкнулся с проблемой, когда я набрал git add .bash_profile
и нажать кнопку ввода, он побежал команду, но возвратил курсор в начало того же вместо того, чтобы печатать новое приглашение. Затем, когда я записывал другую строку фиксации, он делал то же самое, что и первое изображение, но зачеркнул остальную часть строки (Он завернул линию, но переписал всю строку, а не только первые несколько символов).
Я думаю, что это происходит из-за того, что вы не кодируете escape-последовательности в своем приглашении должным образом, так что bash смущает объем оставшегося пространства на линии. – Barmar
Не могли бы вы уточнить? Как я могу это исправить? – Vidia