V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jorakura
V2EX  ›  macOS

超有爱的提示符

  •  
  •   jorakura · 2010-08-18 20:55:17 +08:00 · 5195 次点击
    这是一个创建于 5215 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://asemanfar.com/Current-Git-Branch-in-Bash-Prompt

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

    git-completion.bash

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

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

    最终效果:
    http://cl.ly/d6e0bf2ec1984bacc7ad
    summic
        2
    summic  
       2010-08-18 22:57:45 +08:00 via iPhone
    马克
    chuangbo
        3
    chuangbo  
       2010-08-18 23:06:14 +08:00
    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 时会标红
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5536 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:27 · PVG 09:27 · LAX 17:27 · JFK 20:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.