setup/.zshrc

111 lines
3.4 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

source ~/.profile
HISTFILE="$XDG_CACHE_HOME/zsh/history"
HISTSIZE=50000
SAVEHIST=10000
#### ALIASES ####
alias diff='diff --color'
alias ls='ls --color=tty'
alias lsa='ls -lah'
alias l='ls -lah'
alias ll='ls -lh'
alias la='ls -lAh'
alias md='mkdir -p'
alias rd=rmdir
alias -g ...='../..'
alias -g ....='../../..'
alias -g .....='../../../..'
alias -g ......='../../../../..'
alias -- -='cd -'
alias 1='cd 1'
alias 2='cd -2'
alias 3='cd -3'
alias 4='cd -4'
alias 5='cd -5'
alias 6='cd -6'
alias 7='cd -7'
alias 8='cd -8'
alias 9='cd -9'
#############################
#### BINDINGS ####
#source 'key-bindings.zsh'
autoload -Uz up-line-or-beginning-search
autoload -Uz down-line-or-beginning-search
autoload -Uz edit-command-line
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
zle -N edit-command-line
bindkey '^?' backward-delete-char # bs delete one char backward
bindkey '^[[3~' delete-char # delete delete one char forward
bindkey '^[[H' beginning-of-line # home go to the beginning of line
bindkey '^[[F' end-of-line # end go to the end of line
bindkey '^[[1;5C' forward-word # ctrl+right go forward one word
bindkey '^[[1;5D' backward-word # ctrl+left go backward one word
bindkey '^H' backward-kill-word # ctrl+bs delete previous word
bindkey '^[[3;5~' kill-word # ctrl+del delete next word
bindkey '^J' backward-kill-line # ctrl+j delete everything before cursor
bindkey '^[[D' backward-char # left move cursor one char backward
bindkey '^[[C' forward-char # right move cursor one char forward
bindkey '^[[A' up-line-or-beginning-search # up prev command in history (fuzzy)
bindkey '^[[B' down-line-or-beginning-search # down next command in history (fuzzy)
bindkey '^[[5~' up-line-or-history # pgup prev command in history
bindkey '^[[6~' down-line-or-history # pgdown next command in history
bindkey '^[[Z' reverse-menu-complete # shift+tab move through completion menu backwards
bindkey "^X^E" edit-command-line # ctrl+x+e open current command in $EDITOR
#############################
autoload -U compinit
zstyle ':completion:*' menu select
zmodload zsh/complist
compinit
_comp_options+=(globdots)
autoload -Uz colors && colors
export LSCOLORS="Gxfxcxdxbxegedabagacad"
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
setopt auto_pushd
setopt pushd_ignore_dups
setopt pushdminus
setopt auto_cd
setopt multios
setopt prompt_subst
setopt long_list_jobs
setopt interactivecomments
#### GIT PROMPT ####
function git_prompt_info() {
!git rev-parse --git-dir &> /dev/null && return 0
local ref
ref=$(git symbolic-ref --short HEAD 2> /dev/null) \
|| ref=$(git rev-parse --short HEAD 2> /dev/null) \
|| return 0
echo "${ZSH_GIT_PREFIX}${ref:gs/%/%%}$(parse_git_dirty)${ZSH_GIT_SUFFIX}"
}
function parse_git_dirty() {
if [[ -n $(git status --porcelain 2> /dev/null | tail -n 1) ]]; then
echo "*"
else
echo ""
fi
}
#############################
#### THEME ####
PROMPT='%{$fg_bold[green]%}%n@%m:%{$fg_bold[blue]%}%2~ $(git_prompt_info)%{$reset_color%}%(!.#.$) '
ZSH_GIT_PREFIX="%{$fg[red]%}"
ZSH_GIT_SUFFIX="%{$reset_color%}"
#############################