Я заметил, что много раз, когда я выполняю обратный поиск в истории из командной строки с помощью CTRL+ r, если я хочу отредактировать команду, иногда курсор переходит на неправильную позицию, когда я нажимаю клавишу со стрелкой или вводу CTRL+ aили CTRL+ e, Конкретная позиция, на которую он переходит, кажется смещением, равным размеру моей командной строки, как указано в PS1
.
Это вызывает трудности, потому что фактическое расположение курсора отличается от того, что отображается на экране; будущие изменения команды отображаются так, как будто курсор находится там, где она была перемещена, но фактическая команда сохраняет правильное положение без какого-либо перехода.
Кто-нибудь знает, что вызывает это или как это исправить?
РЕДАКТИРОВАТЬ: Если я добавляю новую строку в конце PS1
проблемы, кажется, уходит. Однако я бы предпочел ввести команду в той же строке, что и приглашение.
Возможно, у вас есть непечатаемые escape-последовательности в PS1, которые не заключены в \ [и \].
Убедитесь, что вы вложили их все так:
источник
\[
\]