V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jorakura
V2EX  ›  macOS

超有爱的提示符

  •  
  •   jorakura · Aug 18, 2010 · 5832 views
    This topic created in 5734 days ago, the information mentioned may be changed or developed.
    http://asemanfar.com/Current-Git-Branch-in-Bash-Prompt

    把现在所在的branch在bash提示部分里面弄出来。
    含多种解决方案
    3 replies    1970-01-01 08:00:00 +08:00
    jorakura
        1
    jorakura  
    OP
       Aug 18, 2010
    继续往下挖了点发现更有爱的东西

    git-completion.bash

    这个可以帮助自动完成git的命令行
    http://cl.ly/575621a428c4d76dd0ff

    而且如果有这个的话,刚才的命令行就可以简单许多
    如果用macport可以直接装。
    用homebrew装的git的话,在/usr/local/etc/bash_completion.d目录里有脚本。
    安装说明写在脚本的注释里。

    最终效果:
    http://cl.ly/d6e0bf2ec1984bacc7ad
    summic
        2
    summic  
       Aug 18, 2010 via iPhone
    马克
    chuangbo
        3
    chuangbo  
       Aug 18, 2010
    git magic 6.8 小节有提到
    > 另一个是在提示符或窗口标题上打印当前分支。调用:
    > $ git symbolic-ref HEAD
    > 显示当前分支名。在实际应用中,你可能最想去掉“refs/heads/”并忽略错误:
    > $ git symbolic-ref HEAD 2> /dev/null | cut -b 12-
    > 更多例子参见Git主页(http://git.or.cz/)。
    这个适用到PS1中是这样的
    {{{
    PS1='`a=$?;if [ $a -ne 0 ]; then echo -n -e "\[\e[01;32;41m\]{$a}"; fi`\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w`b=$(git symbolic-ref HEAD 2> /dev/null | cut -b 12-); [[ "$b" != "" ]] && echo -n -e "\[\e[33;40m\]($b)\[\033[01;32m\]\[\e[00m\]"`\[\033[01;34m\] $ \[\e[00m\]'
    }}}
    并且如果上一次命令返回值 $? 不为 0 时会标红
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2501 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 07:03 · PVG 15:03 · LAX 00:03 · JFK 03:03
    ♥ Do have faith in what you're doing.