# Установка
ttf
и нажмите кнопку Установить шрифт
. На данный момент, мне не удалось найти способ сделать стратегию падающего обратного вызова работоспособной на macOS.На Linux вы можете либо установить исправленный шрифт, либо применить стратегию падающего обратного вызова Awesome-Terminal-Fonts.
Затем настройте ваш терминал с нужным шрифтом и перезапустите его.
Одна строка для macOS:
git clone https://github.com/arialdomartini/oh-my-git.git ~/.oh-my-git && echo source ~/.oh-my-git/prompt.sh >> ~/.profile
Одна строка для Ubuntu:
git clone https://github.com/arialdomartini/oh-my-git.git ~/.oh-my-git && echo source ~/.oh-my-git/prompt.sh >> ~/.bashrc
Затем перезапустите свой терминал.
Создайте форк репозитория и клонируйте его в домашнюю директорию.
Затем добавьте
source $HOME/oh-my-git/prompt.sh
в файл запуска bash (~/.profile
на Mac, ~/.bashrc
на Linux).
Если вы предпочитаете хранить репозиторий oh-my-git в другой директории, просто модифицируйте файл запуска согласно выбранному расположению
source /где-угодно-вы-хотите/oh-my-git/prompt.sh
С установленным antigen, просто добавьте
antigen use oh-my-zsh
antigen bundle arialdomartini/oh-my-git
antigen theme arialdomartini/oh-my-git-themes oppa-lana-style
в ваш файл .zshrc
.oh-my-git-themes
всё ещё включает старые две темы arialdo-granzestyle (которая вдохновлена замечательной темой Granze) от @granze, и arialdo-pathinline. Если вы хотите использовать их, редактируйте соответственно ваш файл .zshrc
.## Как установить antigen
Antigen — это менеджер плагинов для zsh
. Установка antigen проста:
cd ~ && git clone https://github.com/zsh-users/antigen.git .antigen
Затем отредактируйте ваш файл .zshrc
, включив следующее:
source "$HOME/.antigen/antigen.zsh"
antigen use oh-my-zsh
antigen bundle arialdomartini/oh-my-git
antigen theme arialdomartini/oh-my-git-themes oppa-lana-style
antigen apply
При перезапуске zsh, antigen скачает и установит все необходимое.
Вы можете легко изменить любые символы, используемые в промпте. Посмотрите файл prompt.sh (или файл oppa-lana-style.zsh-theme, если вы используете zsh). Вы найдете множество переменных, каждая из которых имеет свое значение по умолчанию. Названия переменных должны быть самообъясняющими. Например,
: ${omg_is_a_git_repo_symbol:='❤'}
: ${omg_has_untracked_files_symbol:='∿'}
: ${omg_has_adds_symbol:='+'}
: ${omg_has_deletions_symbol:='-'}
: ${omg_has_cached_deletions_symbol:='✖'}
: ${omg_has_modifications_symbol:='✎'}
: ${omg_has_cached_modifications_symbol:='☲'}
: ${omg_ready_to_commit_symbol:='→'}
: ${omg_is_on_a_tag_symbol:='⌫'}
Вы можете переопределить любую из этих переменных в своем файле запуска оболочки. Например, просто добавьте
omg_is_on_a_tag_symbol='#'
в свой файл .bashrc
, и oh-my-git будет использовать #
, когда вы находитесь на теге.
Oh-my-git можно отключить на основе каждого репозитория. Просто добавьте [oh-my-git] enabled = false
в файл .git/config
вашего репозитория, чтобы вернуться к исходному промпт для данного конкретного репозитория. Это может быть полезно при работе с очень большими репозиториями, когда команды Git, вызываемые oh-my-git, могут замедлить работу промпта.
source ~/.oh-my-git/prompt.sh
из файла запуска терминала (.profile
или .bashrc
)rm -fr ~/.oh-my-git
Удалите строки
antigen use oh-my-zsh
antigen bundle arialdomartini/oh-my-git
antigen theme arialdomartini/oh-my-git-themes oppa-lana-style
из вашего файла .zshrc
A: Вероятнее всего, вы забыли установить шрифт.
A: Ничего страшного. Вы можете выбрать другую тему либо настроить символы. Посмотрите на файл prompt.sh. Он содержит список заранее определённых символов, аналогично:
# Символы
: ${omg_is_a_git_repo_symbol:='❤'}
: ${omg_has_untracked_files_symbol:='∿'}
: ${omg_has_adds_symbol:='+'}
: ${omg_has_deletions_symbol:='-'}
: ${omg_has_modifications_symbol:='✎'}
Это просто значения по умолчанию. Если вы хотите использовать другой знак для незафиксированных файлов, просто определите omg_has_untracked_files_symbol="что-угодно"
в вашем файле запуска оболочки.
A: К сожалению, мне не удалось найти способ сообщить Bash "выведи следующий символ используя цвет фона, который используется в терминале", а также, по моему мнению, нет способа достичь этого результата. Zsh не затрагивается этой проблемой, но Bash сталкивается с такими трудностями.
Как следствие, при выводе последнего символа, oh-my-git вынужден явно указывать цвета переднего плана и фона. В настоящее время стандартный цвет фона — чёрный. Это неудачно, так как если терминал использует другой цвет фона, отличный от чёрного, результат будет плохим, как показано на приведённой выше картинке.
Умное решение было предложено @Sgiath: установите первый цвет (верхний левый угол) таким же, как цвет фона, как это:
На самом деле это устанавливает "чёрный" цвет таким же, как цвет фона терминала.
Если по какой-либо причине вы не можете изменить палитру цветов, вы можете переопределить цвета, используемые для отображения последнего символа, с помощью переменной omg_last_symbol_color
.Например, если терминал использует серый фон, вы можете добавить
фон=240
красный='\e[0;31m'
omg_last_symbol_color="${красный}\[\033[48;5;${фон}m\]"
в вашем .bashrc
и исправьте проблему, выбрав правильное значение для фон
.
Вы можете использовать
Foreground=160
Background=240
omg_last_symbol_color="\[\033[38;5;${Foreground}m\]\[\033[48;5;${Background}m\]"
если хотите более детальный контроль над цветами.
Найти правильное значение не так просто. Обратитесь к этой странице за таблицей кодов ANSI для 256 цветов.
A: Предпочтения iTerm2 имеют две секции для установки шрифта: одна для обычного шрифта
и другая для шрифта для не-ascii символов
. Шрифт должен быть установлен в обеих секциях, как показано на следующем скриншоте:
A: Вы должны обратиться к документации Awesome-Terminal-Fonts. В любом случае, вот как я лично настраиваю промпт на Ubuntu
# Копируем awesome шрифты в ~/.fonts
cd /tmp
git clone https://github.com/gabrielelana/awesome-terminal-fonts
cd awesome-terminal-fonts
git checkout patching-strategy
mkdir -p ~/.fonts
cp patched/*.ttf ~/.fonts # Обновляем кэш информации о шрифтах
sudo fc-cache -fv ~/.fonts
Затем запустите gnome-terminal
(или любой другой терминал, который вам нравится) и выберите один из awesome-шрифтов
Наконец, установите oh-my-zsh с однойстрочной командой (если вы используете Bash) или с помощью Antigen, если вы предпочитаете zsh, и перезапустите терминал.
A: Конечно! Используйте переменную omg_ungit_prompt
. Сохраните там свой старый промпт: он будет использоваться тогда, когда вы не находитесь в репозитории Git.
A: Однастрочная команда для OS X добавляет команду запуска в ~/.profile
, который является файлом старта для общих входящих shell. Если присутствует ~/.bash_profile
, этот файл используется вместо .profile
, а сам .profile
игнорируется. Чтобы решить вашу проблему, используйте этот альтернативный однастрочный вариант:
cd ~ && git clone https://github.com/arialdomartini/oh-my-git.git && echo source $HOME/oh-my-git/prompt.sh >> .bash_profile
или просто переместите команду запуска
echo source $HOME/oh-my-git/prompt.sh
из .profile
в .bash_profile
Ответ: Да, действительно, подход с промптами виртуальных окружений довольно разочаровывает (см. Virtualenv's bin/activate is Doing It Wrong): скрипт activate
выполняет следующее:
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
что нагло дополняет имя виртуального окружения к текущему PS1
, оставляя вас без возможности кастомизации вывода.
Вы можете решить эту проблему, отключив стандартный промпт виртуального окружения и используя обратный вызов функции omg_prompt_callback
.
Добавьте
VIRTUAL_ENV_DISABLE_PROMPT=true
function omg_prompt_callback() {
if [ -n "${VIRTUAL_ENV}" ]; then
echo "\e[0;31m(`basename ${VIRTUAL_ENV}`)\e[0m "
fi
}
в ваш скрипт запуска оболочки. Это должно отобразить промпт внутри активированного виртуального окружения вот так:
Вы можете использовать обратный вызов функции для внедрения чего угодно в начало второй строки.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )