Mac OS X 10.6 может скомпилировать исходный код (уже упомянутый) книга Усовершенствованное Программирование в UNIX® Environment, Второй Выпуск если _POSIX_C_SOURCE
и _DARWIN_C_SOURCE
флаги препроцессора включены (см., разделяют (5) страница справочника и здесь). Таким образом, мой ответ был бы 'Да!'.
Исходный код этого может заказать (так или иначе) быть скомпилированным в Windows также?
(Ре подобное Linux пространство пользователя: предварительно скомпилированные двоичные файлы Mac OS X GNU findutils пакет и другие инструменты GNU доступны по rudix.org).
Я не имею, находят действительное решение, но возможно это могло помочь Вам (или кто-то еще) найти лучшего.
Необходимо создать сценарий (например, kmtest.sh)
#!/bin/bash
# Script "kmtest.sh"
TEST=`bind -v | awk '/keymap/ {print $NF}'`
if [ "$TEST" = 'vi-insert' ]; then
echo -ne "\033]12;Green\007"
else
echo -ne "\033]12;Red\007"
fi
и после добавляют его к Вашему PS1, чему-то как:
export PS1="\u@\h \$(kmtest.sh)> "
но поскольку я сказал, это не то, что Вы хотите, вызываете его, курсор изменений окрашивает только после cr.Удачи
ГБ
Я задал тот же вопрос некоторое время назад на AskUbuntu, когда я переходил от Gvim до Консольного Vim.
Я получил один ответ, но он включил переключение настроек терминала гнома и этих настроек, примененных через терминалы. Таким образом для курсора терминала гнома было возможно застрять в неправильном состоянии время от времени.
Я все еще интересуюсь тем, получаете ли Вы удовлетворительное решение, но со временем я корректировался к отсутствию информации о состоянии режима в курсоре. Возможно, я просто нажимаю Escape чаще (например, esc
для обеспечения я нахожусь в командном режиме; esc i
для обеспечения я нахожусь в режиме вставки); возможно, я смотрю на состояние, отображенное внизу экрана; возможно, я только что усвоил режим.
Похоже, что может быть способ сделать это посредством взламывания readline. Возможно, мы могли стремиться к нему для получения mainstreamed?
Вот мой ответ на ТАК https://stackoverflow.com/a/12201092/255961, который я обновлю, если я получу больше информации.
Должно быть доступно в [114119]bash[114120] 4. 3 - смотрите [114121]changelog[114122] -
bash[114124] 4.3 в настоящее время находится на стадии [114125]rc[114126], вы должны быть в состоянии получить пакеты для большинства дистрибутивов без компиляции из исходных текстов, хотя и не в основных репозиториях. Eg. Ubuntu (amd64) [114127] здесь[114128] и Debian (experimental repo) [114129] здесь[114130].[113650].
Хотя это не совсем то, что вам нужно (динамическое изменение курсора), bash 4.4 / readline 7.0 добавит поддержку динамического изменения подсказки . Вы сможете указать пользовательские индикаторы режима для режимов вставки/команды (Это отличается от текущей опции show-mode-in-prompt
, которая жестко закодирована на использование +
и :
).
К сожалению, эти версии в настоящее время находятся в стадии бета-тестирования и, похоже, еще не все ошибки устранены. В них также отсутствует возможность указать, где в подсказке вы хотите видеть индикатор режима.
Тем временем я опубликовал исправленные версии bash 4.3 / readline 6.3 на github с этой функциональностью.