[ -f "$HOME/.config/user-dirs.dirs" ] && source $HOME/.config/user-dirs.dirs source $HOME/.config/environment # Enable colors and change prompt: autoload -U colors && colors autoload -Uz vcs_info precmd() { vcs_info } zstyle ':vcs_info:git*' formats " (%b)" # hash & branch setopt prompt_subst PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$fg[green]%}\$vcs_info_msg_0_%{$reset_color%} $%b " # History in cache directory: HISTSIZE=1000000 SAVEHIST=1000000 HISTFILE=$HOME/.cache/zsh_history # Basic auto/tab complete: autoload -U compinit zstyle ':completion:*' menu select zmodload zsh/complist compinit _comp_options+=(globdots) # Include hidden files. # vi mode bindkey -v export KEYTIMEOUT=1 # Use vim keys in tab complete menu: bindkey -M menuselect 'h' vi-backward-char bindkey -M menuselect 'k' vi-up-line-or-history bindkey -M menuselect 'l' vi-forward-char bindkey -M menuselect 'j' vi-down-line-or-history bindkey -v '^?' backward-delete-char zle-line-init() { zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) echo -ne "\e[1 q" } zle -N zle-line-init echo -ne '\e[1 q' # Use beam shape cursor on startup. # preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. # Edit line in vim with ctrl-e: autoload edit-command-line; zle -N edit-command-line bindkey '^e' edit-command-line [ -f "$HOME/.config/aliasrc" ] && source $HOME/.config/aliasrc # Load zsh-syntax-highlighting; should be last. source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 2>/dev/null if [[ $STICKY_NOTE ]]; then PS1= cat "/tmp/sticky-note" return fi