Skip to content

Instantly share code, notes, and snippets.

@kaiye
Last active June 2, 2017 07:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kaiye/a968f7ccfc5620d1384800fe773199e3 to your computer and use it in GitHub Desktop.
Save kaiye/a968f7ccfc5620d1384800fe773199e3 to your computer and use it in GitHub Desktop.
A zsh theme modify from gnzh
# ZSH Theme
# Based on gnzh theme
setopt prompt_subst
() {
local PR_USER PR_USER_OP PR_PROMPT PR_HOST
# Check the UID
if [[ $UID -ne 0 ]]; then # normal user
PR_USER='%F{green}%n%f'
PR_USER_OP='%F{green}%#%f'
PR_PROMPT='%f➤ %f'
else # root
PR_USER='%F{red}%n%f'
PR_USER_OP='%F{red}%#%f'
PR_PROMPT='%F{red}➤ %f'
fi
# Check if we are on SSH or not
if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then
PR_HOST='%F{red}%M%f' # SSH
else
PR_HOST='%F{green}%M%f' # no SSH
fi
local return_code="%(?..%F{red}%? ↵%f)"
local user_host="${PR_USER}%F{cyan}@${PR_HOST}"
local current_dir="%B%F{blue}%~%f%b"
local rvm_ruby=''
if ${HOME}/.rvm/bin/rvm-prompt &> /dev/null; then # detect user-local rvm installation
rvm_ruby='%F{red}‹$(${HOME}/.rvm/bin/rvm-prompt i v g s)›%f'
elif which rvm-prompt &> /dev/null; then # detect system-wide rvm installation
rvm_ruby='%F{red}‹$(rvm-prompt i v g s)›%f'
elif which rbenv &> /dev/null; then # detect Simple Ruby Version Management
rvm_ruby='%F{red}‹$(rbenv version | sed -e "s/ (set.*$//")›%f'
fi
local git_branch='$(git_prompt_info)'
PROMPT="╭─${current_dir} ${rvm_ruby} ${git_branch}
╰─$PR_PROMPT "
RPROMPT="${return_code}"
ZSH_THEME_GIT_PROMPT_PREFIX="%F{yellow}‹"
ZSH_THEME_GIT_PROMPT_SUFFIX="› %f"
}
@kaiye
Copy link
Author

kaiye commented Jun 2, 2017

Download theme

wget https://gist.githubusercontent.com/kaiye/a968f7ccfc5620d1384800fe773199e3/raw/22b2d944eca2cc64b9187248a855c56071e97197/kaiye.zsh-theme  -O ~/.oh-my-zsh/themes/kaiye.zsh-theme

and then modify ~/.zshrc file

ZSH_THEME="kaiye"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment