Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##################################
- #
- # Zshrc
- #
- ##################################
- ##################################
- #
- # Global Settings
- #
- ##################################
- zstyle :compinstall filename '/home/user/.zshrc'
- autoload -Uz compinit
- compinit
- setterm blength 0
- # Enable highlighting
- zstyle ':completion:*' menu select=1
- # Corrections
- zstyle ':completion:*' completer _complete _correct
- #setopt correct_all
- # Source plugins
- source ~/.zsh_plugins.sh
- # Automatically change directory if a directory is entered
- setopt autocd
- setopt extendedglob
- # Case-insensitive globbing
- zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
- # History
- HISTFILE=~/.zsh_history
- HISTSIZE=1000
- SAVEHIST=$HISTSIZE
- ###################################
- #
- # Keybindings
- #
- ###################################
- #Emacs mode
- #bindkey -e
- #Vi mode
- #bindkey -v
- #export KEYTIMEOUT=1
- typeset -A key
- key=(
- BackSpace "${terminfo[kbs]}"
- Home "${terminfo[khome]}"
- End "${terminfo[kend]}"
- Insert "${terminfo[kich1]}"
- Delete "${terminfo[kdch1]}"
- Up "${terminfo[kcuu1]}"
- Down "${terminfo[kcud1]}"
- Left "${terminfo[kcub1]}"
- Right "${terminfo[kcuf1]}"
- PageUp "${terminfo[kpp]}"
- PageDown "${terminfo[knp]}"
- )
- function bind2maps () {
- local i sequence widget
- local -a maps
- while [[ "$1" != "--" ]]; do
- maps+=( "$1" )
- shift
- done
- shift
- sequence="${key[$1]}"
- widget="$2"
- [[ -z "$sequence" ]] && return 1
- for i in "${maps[@]}"; do
- bindkey -M "$i" "$sequence" "$widget"
- done
- }
- bind2maps emacs -- BackSpace backward-delete-char
- bind2maps viins -- BackSpace vi-backward-delete-char
- bind2maps vicmd -- BackSpace vi-backward-char
- bind2maps emacs -- Home beginning-of-line
- bind2maps viins vicmd -- Home vi-beginning-of-line
- bind2maps emacs -- End end-of-line
- bind2maps viins vicmd -- End vi-end-of-line
- bind2maps emacs viins -- Insert overwrite-mode
- bind2maps vicmd -- Insert vi-insert
- bind2maps emacs -- Delete delete-char
- bind2maps viins vicmd -- Delete vi-delete-char
- bind2maps emacs viins vicmd -- Up up-line-or-history
- bind2maps emacs viins vicmd -- Down down-line-or-history
- bind2maps emacs -- Left backward-char
- bind2maps viins vicmd -- Left vi-backward-char
- bind2maps emacs -- Right forward-char
- bind2maps viins vicmd -- Right vi-forward-char
- bind2maps viins vicmd -- PageUp history-beginning-search-backward
- bind2maps viins vicmd -- PageDown history-beginning-search-forward
- # Make sure the terminal is in application mode, when zle is active. Only then are the values from $terminfo valid.
- if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
- function zle-line-init () {
- emulate -L zsh
- printf '%s' ${terminfo[smkx]}
- }
- function zle-line-finish () {
- emulate -L zsh
- printf '%s' ${terminfo[rmkx]}
- }
- zle -N zle-line-init
- zle -N zle-line-finish
- else
- for i in {s,r}mkx; do
- (( ${+terminfo[$i]} )) || debian_missing_features+=($i)
- done
- unset i
- fi
- unfunction bind2maps
- ###################################
- #
- # Prompt
- #
- ###################################
- $Smilies
- setopt PROMPT_SUBST
- prompt_status_smiley() {
- [[ $? -ne 0 ]] && echo '%F{1}):%f'
- }
- # Git prompt
- setopt prompt_subst
- autoload -Uz vcs_info
- zstyle ':vcs_info:*' actionformats \
- '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f '
- zstyle ':vcs_info:*' formats \
- '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{5}]%f '
- zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r'
- zstyle ':vcs_info:*' enable git cvs svn
- # or use pre_cmd, see man zshcontrib
- vcs_info_wrapper() {
- vcs_info
- if [ -n "$vcs_info_msg_0_" ]; then
- echo "%{$fg[grey]%}${vcs_info_msg_0_}%{$reset_color%}$del"
- fi
- }
- RPROMPT=$'$(vcs_info_wrapper)'
- #Main Prompt
- PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;34m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}%!%{\e[0;34m%}%B]%b%{\e[0m%}
- %{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]%{\e[0m%}%b '
- RPROMPT='$(prompt_status_smiley)'
- PS2=$' \e[0;34m%}%B>%{\e[0m%}%b'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement