zshrc: configurability, ssh hostname display
This commit is contained in:
parent
84f679db82
commit
372e05a172
1 changed files with 85 additions and 50 deletions
135
common/.zshrc
135
common/.zshrc
|
@ -4,10 +4,15 @@ fi
|
|||
|
||||
fpath=(~/.zsh $fpath)
|
||||
|
||||
if [[ ! -d "$HOME/.zsh/gitstatus" ]]; then
|
||||
git clone --depth=1 https://github.com/romkatv/gitstatus.git ~/.zsh/gitstatus
|
||||
CONF_BINARYCLOCK=1
|
||||
CONF_ENABLEGIT=1
|
||||
|
||||
if [[ $CONF_ENABLEGIT -eq 1 ]]; then
|
||||
if [[ ! -d "$HOME/.zsh/gitstatus" ]]; then
|
||||
git clone --depth=1 https://github.com/romkatv/gitstatus.git ~/.zsh/gitstatus
|
||||
fi
|
||||
source ~/.zsh/gitstatus/gitstatus.plugin.zsh
|
||||
fi
|
||||
source ~/.zsh/gitstatus/gitstatus.plugin.zsh
|
||||
|
||||
# Lines configured by zsh-newuser-install
|
||||
HISTFILE=~/.histfile
|
||||
|
@ -17,46 +22,9 @@ SAVEHIST=1000
|
|||
|
||||
####
|
||||
|
||||
#autoload -Uz vcs_info
|
||||
#precmd_vcs_info() {
|
||||
# vcs_info
|
||||
# local STATUS=$(git status --porcelain 2> /dev/null | tail -1)
|
||||
# if [[ -n $STATUS ]]; then
|
||||
# zstyle ':vcs_info:git:*' formats '%F{cyan}%b%f %F{yellow}▲%f '
|
||||
# else
|
||||
# zstyle ':vcs_info:git:*' formats '%F{cyan}%b%f %F{green}▲%f '
|
||||
# fi
|
||||
#}
|
||||
#precmd_functions+=( precmd_vcs_info )
|
||||
#
|
||||
#zstyle ':vcs_info:*' enable git
|
||||
|
||||
# prompt
|
||||
setopt prompt_subst
|
||||
|
||||
#get_git_branch() {
|
||||
# git symbolic-ref --short HEAD 2> /dev/null
|
||||
#}
|
||||
#
|
||||
#get_git_dirty() {
|
||||
# git status --porcelain 2> /dev/null
|
||||
#}
|
||||
#
|
||||
#git_status=""
|
||||
#get_git_status() {
|
||||
# git_status=""
|
||||
# local BRANCH=$(get_git_branch)
|
||||
# local STATUS=$(get_git_dirty)
|
||||
# if [[ -n $BRANCH ]]; then
|
||||
# if [[ -n $STATUS ]]; then
|
||||
# git_status="%F{cyan}$BRANCH%f %F{yellow}▲%f "
|
||||
# else
|
||||
# git_status="%F{cyan}$BRANCH%f %F{green}▲%f "
|
||||
# fi
|
||||
# fi
|
||||
#}
|
||||
#
|
||||
#precmd_functions+=(get_git_status)
|
||||
|
||||
git_status=""
|
||||
git_status_v2() {
|
||||
git_status=""
|
||||
|
@ -67,14 +35,17 @@ git_status_v2() {
|
|||
fi
|
||||
|
||||
if [[ $DIRTY -eq 1 ]]; then
|
||||
git_status="%F{cyan}$VCS_STATUS_LOCAL_BRANCH%f %F{yellow}▲%f "
|
||||
git_status="%F{cyan}$VCS_STATUS_LOCAL_BRANCH%f %F{yellow}▲%f "
|
||||
else
|
||||
git_status="%F{cyan}$VCS_STATUS_LOCAL_BRANCH%f %F{green}▲%f "
|
||||
fi
|
||||
fi
|
||||
}
|
||||
precmd_functions+=(git_status_v2)
|
||||
gitstatus_stop 'PROMPT' && gitstatus_start -s -1 -u -1 -c -1 -d -1 'PROMPT'
|
||||
|
||||
if [[ $CONF_ENABLEGIT -eq 1 ]]; then
|
||||
precmd_functions+=(git_status_v2)
|
||||
gitstatus_stop 'PROMPT' && gitstatus_start -s -1 -u -1 -c -1 -d -1 'PROMPT'
|
||||
fi
|
||||
|
||||
timer=0
|
||||
timer_show=0
|
||||
|
@ -113,6 +84,7 @@ prompt_time() {
|
|||
}
|
||||
precmd_functions+=(prompt_time)
|
||||
|
||||
prompt_clock=""
|
||||
binary_clock() {
|
||||
local row0=("⠀" "⠈" "⠐" "⠘" "⠠" "⠨" "⠰" "⠸" "⢀" "⢈")
|
||||
local row1=("⠁" "⠉" "⠑" "⠙" "⠡" "⠩" "⠱" "⠹" "⢁" "⢉")
|
||||
|
@ -129,12 +101,29 @@ binary_clock() {
|
|||
[[ $minute = 0* ]] && minute=${minute:1:1}
|
||||
[[ $second = 0* ]] && second=${second:1:1}
|
||||
|
||||
bclock="${chars[$hour+1]} ${chars[$minute+1]} ${chars[$second+1]}"
|
||||
prompt_clock="${chars[$hour+1]} ${chars[$minute+1]} ${chars[$second+1]}"
|
||||
}
|
||||
precmd_functions+=(binary_clock)
|
||||
|
||||
PROMPT=' %(?.%F{magenta}.%F{red})λ%f %1~ $git_status '
|
||||
RPROMPT='%F{yellow}$timer_display%f %(?..%F{red}%?%f )%F{white}$bclock%f'
|
||||
normal_clock() {
|
||||
prompt_clock=$(date +"%H:%M:%S")
|
||||
}
|
||||
|
||||
if [[ $CONF_BINARYCLOCK -eq 1 ]]; then
|
||||
precmd_functions+=(binary_clock)
|
||||
else
|
||||
precmd_functions+=(normal_clock)
|
||||
fi
|
||||
|
||||
ssh_hostname=""
|
||||
get_is_in_ssh() {
|
||||
if [[ ! -z $SSH_TTY ]]; then
|
||||
ssh_hostname="%F{blue}[%m]%f"
|
||||
fi
|
||||
}
|
||||
precmd_functions+=(get_is_in_ssh)
|
||||
|
||||
PROMPT='$ssh_hostname %(?.%F{magenta}.%F{red})λ%f %1~ $git_status '
|
||||
RPROMPT='%F{yellow}$timer_display%f %(?..%F{red}%?%f )%F{white}$prompt_clock%f'
|
||||
|
||||
####
|
||||
|
||||
|
@ -175,8 +164,54 @@ alias del='rm'
|
|||
|
||||
####
|
||||
|
||||
# hast =)
|
||||
hast() { a=$(cat); curl -X POST -s -d "$a" https://haste.soulja-boy-told.me/documents | awk -F '"' '{print "https://haste.soulja-boy-told.me/"$4}'; }
|
||||
# functions
|
||||
extract () {
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xvjf $1 ;;
|
||||
*.tar.gz) tar xvzf $1 ;;
|
||||
*.bz2) bunzip2 $1 ;;
|
||||
*.rar) unrar x $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar xvf $1 ;;
|
||||
*.tbz2) tar xvjf $1 ;;
|
||||
*.tgz) tar xvzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1 ;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*.asar) asar e $1 ${1%.asar} ;;
|
||||
*) echo "'$1' cannot be extracted via >extract<" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file!"
|
||||
fi
|
||||
}
|
||||
|
||||
remindperms () {
|
||||
echo " 0 (No read, no write, no execute) ---"
|
||||
echo " 1 (No read, no write, execute) --x"
|
||||
echo " 2 (No read, write, no execute) -w-"
|
||||
echo " 3 (No read, write, execute) -wx"
|
||||
echo " 4 (Read, no write, no execute) r--"
|
||||
echo " 5 (Read, no write, execute) r-x"
|
||||
echo " 6 (Read, write, no execute) rw-"
|
||||
echo " 7 (Read, write, execute) rwx"
|
||||
echo ""
|
||||
echo "(who) u User"
|
||||
echo "(who) g Group owner"
|
||||
echo "(who) o Other"
|
||||
echo "(who) a All (“world”)"
|
||||
echo ""
|
||||
echo "(action) + Adding permissions"
|
||||
echo "(action) - Removing permissions"
|
||||
echo "(action) = Explicitly set permissions"
|
||||
echo ""
|
||||
echo "(permissions) r Read"
|
||||
echo "(permissions) w Write"
|
||||
echo "(permissions) x Execute"
|
||||
echo "(permissions) t Sticky bit"
|
||||
echo "(permissions) s Set UID or GID"
|
||||
}
|
||||
|
||||
####
|
||||
|
||||
|
|
Loading…
Reference in a new issue