Я использую OSX Lion 10.7.3, zsh версии 4.3.11. Я обнаружил, что если в моей подсказке есть коды выхода цвета, это все по-королевски испортит. Например, если прокрутить историю команд вперед на длинную строку, а затем прокрутить назад на более короткую, многие символы не будут удалены. Если бы мне пришлось угадывать, он подсчитывал количество видимых символов, а затем использовал его, чтобы определить, сколько символов предстоит очистить - что, конечно, не сможет очистить достаточно символов.

Для чего бы то ни было, пакет Rubline для Readline демонстрирует то же поведение (что означает, что у меня не может быть цветов в моем приглашении irb ).

bash ведет себя отлично, поэтому я не уверен, что происходит. Я предполагаю, что bash и zsh используют readline ... поэтому я не вижу, что дает.

Любая помощь будет принята с благодарностью.

Обновление 19.03.12

Я попробовал как системную zsh и ту, которая была установлена с помощью brew install zsh - ни в коем случае не играли в кости.

Вот вывод otool -L /usr/local/Cellar/zsh/4.3.17/bin/zsh:

/usr/local/Cellar/zsh/4.3.17/bin/zsh:
    /usr/local/lib/libgdbm.4.dylib (compatibility version 5.0.0, current version 5.0.0)
    /usr/local/lib/libpcre.0.dylib (compatibility version 1.0.0, current version 1.1.0)
    /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
    /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)

Часть меня удивляется, если это проблема с libncurses, так как я предполагаю, что именно для этого используются функции завершения и истории.

1 ответ1

0

К сожалению, мне нужно было окружить цветовые коды %{ и %} , как упомянуто здесь:

Странное zsh автозаполнение

Итак, если бы я хотел, чтобы часть приглашения была синей, она могла бы выглядеть так:

  export PS1=$'%{$fg[blue]%}${PWD/#$HOME/~}%{$reset_color%} %{$fg[red]%}→%{$reset_color%}'

Это будет выглядеть примерно так: ~/src → .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .