macos - Mac OSX 提示 git branch aware

标签 macos git bash command-prompt

<分区>

我一直在玩我的主目录中的 .profile 文件,以便在提示符上显示 git 分支,并显示我当前在的 rvm gemset 和 python 虚拟环境...大部分都工作正常,问题我所拥有的是,为了根据分支的状态以不同的颜色显示分支,我必须每次都执行 source ~/.profile,我也必须这样做才能显示 python virtualenv青色。

必须有一种方法或我缺少的东西,这样我就不必每次进入不同的文件夹时都运行 source ~/.profile,以便分支颜色基于状态。

这是我的.profile

https://gist.github.com/3628788

感谢您帮助解决这个问题!

最佳答案

使用 PROMPT_COMMAND 变量定义一个函数,在每个命令后设置您的 PS1。将其放在 .profile 文件的底部,代替对 PS1 的分配:

prompt_cmd () {
    PS1="${PYTHON_VIRTUALENV}$PURPLE\$(set_rvm_prompt)$NO_COLOUR\u@\h:[\W]${B_STATE}\$(parse_git_branch)$NO_COLOUR\$ "
}

PROMPT_COMMAND=prompt_cmd

现在,就在显示您的提示之前,bash 将执行函数 prompt_cmd,根据 更新 PS1 以获得最新信息>PYTHON_VIRTUALENVset_rvm_prompt()parse_git_branch()

关于macos - Mac OSX 提示 git branch aware,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12273319/

相关文章:

c - 如何在 Linux 和 Mac OSx 中获得更高级的网络接口(interface)卡类型

bash - 错误的 stdio 转发规范 '%h:%p' '

git - 如何仅为特定分支创建 Git 标签?

Github desktop for mac 无法登录

python - bash 脚本中 Python 命令的 Visual Studio 调试器

bash if 语句,版本是否低于要求?

mysql - 如何在 Sequel Pro 中编辑现有索引?

macos - 在 Mac OS 中创建新用户组

git - 如何在 Git 中记录文件

linux - 删除具有相似名称的文件,匹配范围