Git Branch в ZSH Подскажите?

При работе с git-репозиторием с несколькими ветвями, как мне изменить приглашение zsh, чтобы оно включало мою текущую активную ветку?

4
задан 10 October 2014 в 17:16

3 ответа

Используйте oh-my-zsh . Это автоматически обновляемая коллекция из нескольких десятков плагинов и тем, которые делают zsh даже лучше, чем сейчас. Если вы уже установили git, он автоматически активирует плагин git, и вы готовы к работе!

0
ответ дан 10 October 2014 в 17:16

Используйте функцию vcs_info в пользовательских вкладках zsh (входит в пакет zsh). Быстрый старт:

autoload -Uz vcs_info
precmd () { vcs_info }
setopt prompt_subst
PS1="\$vcs_info_msg_0_$PS1"

Вероятно, вы захотите сделать вывод более красивым. Поскольку это вопрос личного вкуса, я отсылаю вас к примерам в документации.

0
ответ дан 10 October 2014 в 17:16

Для тех, которые желают что-то более легкое, вот мой в большой степени измененный порт Zsh хинду подсказки удара, шел по умолчанию, когда я был на нем.

function parse_git_branch() {
    # Speed up opening up a new terminal tab by not
    # checking $HOME... which can't be a repo anyway
    [ "$PWD" = "$HOME" ] && return

    # Fastest way I know to check the current branch name
    ref="$(command git symbolic-ref --short HEAD 2> /dev/null)" || return
    echo " [$ref]"
}

prompt_gentoo_precmd() {
    path_prompt="%B%F{blue}%1~$(parse_git_branch)"

    PS1="$base_prompt$path_prompt $pre_prompt%# $post_prompt"
    PS2="$base_prompt$path_prompt $pre_prompt%_> $post_prompt"
    PS3="$base_prompt$path_prompt $pre_prompt?# $post_prompt"
}

prompt_gentoo_setup () {
    base_prompt="%k%B%(!.%F{red}.%F{green}%n@)%m "
    pre_prompt="%(0?..%F{yellow})%(1j.%%.)"
    post_prompt="%b%f%k"

    precmd_functions+='prompt_gentoo_precmd'
}
0
ответ дан 17 November 2019 в 05:36

Другие вопросы по тегам:

Похожие вопросы: