В 12.10 отключение онлайн-видео в Dash упрощается. Просто выполните поиск конфиденциальности в Dash и откройте это окно.
Затем отключите параметр для включения результатов онлайн-поиска.
Убедитесь, что все непечатаемые байты в вашем PS1 содержатся в \[ \]. В противном случае bash будет считать их в строке запроса. Он использует длину подсказки, чтобы определить, когда нужно обернуть линию.
Например, здесь bash подсчитывает приглашение шириной 19 столбцов, а приглашение, отображаемое терминалом, имеет ширину всего 10 колонок (My prompt, написанный в циане, и >, написанный по умолчанию):
PS1='\e[36mMy prompt\e[0m>' # bash count: 19, actual: 10
, в то время как здесь он подсчитывает только приглашение шириной 10 колонок, поскольку он игнорирует байты между специальными \[ и \] escapes:
PS1='\[\e[36m\]My prompt\[\e[0m\]>' # bash count: 10, actual: 10
Для хорошей практики используйте tput для генерации выводов терминала, а не для их жесткого кодирования:
cyan=$(tput setaf 6) # \e[36m
reset=$(tput sgr0) # \e[0m
PS1='\[$cyan\]My prompt\[$reset\]>'
См. http: // mywiki. wooledge.org/BashFAQ/053, а также http://wiki.bash-hackers.org/scripting/terminalcodes для tput.
У меня была аналогичная проблема и, наконец, нашел простое решение.
Добавьте следующую строку в ваш файл .bashrc:
COLUMNS=250
Затем введите source ~/.bashrc, чтобы получить желаемый эффект.
У меня была такая же проблема с пользовательским цветным приглашением, хотя я содержал цветовые коды в пределах \[ и \] разделителей. Оказывается, у bash есть проблемы, отражающие цвета внутри функции. Я просто использовал переменные для моей подсказки, и хотя мой .bashrc немного менее изящный, теперь все работает хорошо.
Простая задача - добавить следующую строку перед установкой PS1:
stty columns 1000
Например,
stty columns 1000
PS1='\[\e[0;32m\u@\w/:[\e[m '
, однако это влияет на другие команды unix как ls и man.
У меня была эта проблема при подключении в tmux. Проблема заключалась в том, что у меня была сессия ipython в фоновом режиме (ctrl + z), и это как-то сломало обертку строк. Как только я его прекратил (fg, ctrl+d+d) мой терминал начал нормально работать
Поэтому проверьте любые остановленные интерактивные подсказки.