|
|
- # My zsh config file. One day, I will actually learn about zsh instead
- # of just haphazardly tossing crap at it.
-
- # Common path, aliases etc. for both shells I actually use:
- source ~/.sh_common
-
- autoload -U add-zsh-hook
- autoload -Uz compinit
-
- export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
-
- export HISTFILE=~/.histfile
- export HISTSIZE=15000
- export SAVEHIST=9999999
-
- setopt menu_complete
- setopt prompt_subst
- setopt inc_append_history
- setopt hist_ignore_space
- setopt hist_ignore_dups
- setopt autocd
- setopt extendedglob
- setopt autopushd pushdminus
- setopt printexitvalue
- unsetopt beep
- bindkey -e
-
- zstyle :compinstall filename '/home/brennen/.zshrc'
-
- compinit
-
- # https://wiki.archlinux.org/index.php/Zsh#History_search
- # Search up/down for matching thing on arrows - you can still use ctrl-n /
- # ctrl-p to move up and down in the overall command history:
- autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
- zle -N up-line-or-beginning-search
- zle -N down-line-or-beginning-search
- [[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-beginning-search
- [[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-beginning-search
-
- # Grab some colors:
- autoload colors zsh/terminfo
- if [[ "$terminfo[colors]" -ge 8 ]]; then
- colors
- fi
- for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
- eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'
- eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'
- (( count = $count + 1 ))
- done
- PR_NO_COLOR="%{$terminfo[sgr0]%}"
-
- PR_SIGIL=\$
- PR_PATH_COLOR=$PR_BLUE;
- PR_TIME_COLOR=$PR_LIGHT_BLUE
- case "$HOST" in
- 'pisces')
- PR_HOST_COLOR=$PR_GREEN;
- ;;
- 'raspberrypi')
- PR_HOST_COLOR=$PR_MAGENTA;
- ;;
- 'catastrophe')
- PR_HOST_COLOR=$PR_LIGHT_BLUE;
- ;;
- 'desiderata')
- PR_HOST_COLOR=$PR_LIGHT_BLUE;
- PR_SIGIL=★
- ;;
- 'exuberance')
- PR_HOST_COLOR=$PR_LIGHT_GREEN;
- # see bin/fragment-bullet:
- PR_SIGIL=★
- ;;
- 'externality')
- PR_HOST_COLOR=$PR_LIGHT_GREEN;
- PR_SIGIL=✩
- ;;
- 'escalation')
- PR_HOST_COLOR=$PR_LIGHT_GREEN;
- PR_SIGIL=✩
- ;;
- 'fragility')
- PR_HOST_COLOR=$PR_WHITE;
- PR_SIGIL=❄
- ;;
- 'novena-edward-norway')
- PR_HOST_COLOR=$PR_LIGHT_BLUE;
- PR_SIGIL=❄
- ;;
- 'errata')
- PR_HOST_COLOR=$PR_LIGHT_BLUE;
- PR_SIGIL=☾
- ;;
- 'kropotkin')
- PR_HOST_COLOR=$PR_BLUE;
- ;;
- *)
- PR_HOST_COLOR=$PR_BLUE;
- ;;
- esac
-
- # Reset the prompt on every command to get that parse_git_branch
- # function to run. Might be a better way to do this, but whatever:
- function precmd {
- export PS1="$PR_HOST_COLOR%n@%m $PR_TIME_COLOR%* $PR_PATH_COLOR%d $(parse_git_branch)$PR_NO_COLOR$PR_SIGIL "
- }
-
- # Set up the prompt:
- export PS1="$PR_HOST_COLOR%n@%m $PR_TIME_COLOR%* $PR_PATH_COLOR%d $(parse_git_branch)$PR_NO_COLOR$PR_SIGIL "
-
- # Record directory history:
- function chpwd {
- echo $(pwd) >> ~/.directory_history
- }
-
- function bpb_preexec {
- # http://zsh.sourceforge.net/Doc/Release/Functions.html
- commandlog add "$@"
- }
- add-zsh-hook preexec bpb_preexec
-
- # fzf fuzzyfinder for use with Alt-c, Ctrl-r, Ctrl-t:
- [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
-
- eval $(rash init)
|