я немного устал от моих typeaheads в Баш от испортить PS1. Например, я бы выполнил команду, например ls
, и в то время как он работает, начните вводить следующую команду, как echo
, и typeahead для echo
появится перед PS1, как
/$ls
...
ec/$echo
(здесь /$
- это PS1
). Мое решение для этого было добавить r
к передней части PS1, так что он очистит линию первым.
это, кажется, работает разумно Ну, но, кажется, есть странная проблема. В моем .inputrc
, Я
"ep": history-search-backward
дайте мне типа M-p
, чтобы вернуться назад (iTerm 2 карты вариант, чтобы избежать правильно).
проблема в том, что иногда, когда я печатаю некоторые вещи, а затем M-p
чтобы получить предыдущую команду, то я делаю C-u C-k
очистить строку, первый символ остается, и становится частью PS1
(удаляется из исполняемой строки, но отображается на PS1). Это когда я выполнить команда, но всякий раз, когда я нажимаю этот элемент в истории, даже с обычной стрелкой вверх, этот первый персонаж снова застревает там. Это происходит только с командами определенной длины. Это не имеет значения, если r
фактически очищает любой текст, чтобы это произошло.
я поражаю странную ошибку в bash и / или iTerm? Добавляет r
перед PS1
правильный способ очистить крафт перед ним?