# Enable colors and change prompt: autoload -U colors && colors # Load colors autoload -Uz vcs_info precmd_vcs_info() { vcs_info } precmd_functions+=( precmd_vcs_info ) # neovim beam cursor fix function precmd { print -Pn "\e[ q" } zstyle ':vcs_info:git:*' formats "[%b]%{$fg[yellow]%}%u" zstyle ':vcs_info:*' check-for-changes true zstyle ':vcs_info:*' unstagedstr '*' setopt PROMPT_SUBST PROMPT='%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$fg[red]%}${vcs_info_msg_0_}%{$reset_color%}$%b ' setopt autocd # Automatically cd into typed directory. stty stop undef # Disable ctrl-s to freeze terminal. setopt interactive_comments HISTSIZE=10000000 SAVEHIST=10000000 HISTFILE="${XDG_CACHE_HOME:-$HOME/.cache}/zsh/history" setopt append_history setopt inc_append_history setopt share_history setopt hist_ignore_dups setopt hist_ignore_all_dups setopt hist_expire_dups_first setopt hist_find_no_dups setopt hist_save_no_dups setopt hist_reduce_blanks setopt hist_verify [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" autoload -U compinit; compinit zstyle ':completion:*' menu select zmodload zsh/complist compinit _comp_options+=(globdots) # Include hidden files. source "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" lfcd () { tmp="$(mktemp -uq)" trap 'rm -f $tmp >/dev/null 2>&1 && trap - HUP INT QUIT TERM PWR EXIT' HUP INT QUIT TERM PWR EXIT lf -last-dir-path="$tmp" "$@" if [ -f "$tmp" ]; then dir="$(cat "$tmp")" [ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir" fi } bindkey -s '^o' '^ulfcd\n' unset SSH_AGENT_PID if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" fi export PASSWORD_STORE_CLIP_TIME=5 # Load syntax highlighting; should be last. source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null