# Luke's config for the Zoomer Shell # Enable colors and change prompt: autoload -U colors && colors # Load colors export PS1="%{$(tput setaf 34)%}%n%{$(tput setaf 40)%}@%{$(tput setaf 46)%}%m %{$(tput setaf 154)%}%1~ %{$(tput sgr0)%}$ " setopt autocd # Automatically cd into typed directory. stty stop undef # Disable ctrl-s to freeze terminal. setopt interactive_comments # History in cache directory: HISTSIZE=10000000 SAVEHIST=10000000 HISTFILE="${XDG_CACHE_HOME:-$HOME/.cache}/zsh/history" setopt inc_append_history # Load aliases and shortcuts if existent. [ -f "$HOME/.config/shell/envvarrc" ] && source "$HOME/.config/shell/envvarrc" [ -f "$HOME/.config/shell/aliasrc" ] && source "$HOME/.config/shell/aliasrc" [ -f "$HOME/.config/shell/funcrc" ] && source "$HOME/.config/shell/funcrc" # 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 ## Change cursor shape for different vi modes. #function zle-keymap-select () { # case $KEYMAP in # vicmd) echo -ne '\e[1 q';; # block # viins|main) echo -ne '\e[5 q';; # beam # esac #} #zle -N zle-keymap-select #zle-line-init() { # zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) # echo -ne "\e[5 q" #} #zle -N zle-line-init #echo -ne '\e[5 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 bindkey -M vicmd '^[[P' vi-delete-char bindkey -M vicmd '^e' edit-command-line bindkey -M visual '^[[P' vi-delete # Use custom options remaps from the script remaps # Exit even of there are running jobs setopt NO_CHECK_JOBS ### Added by Zinit's installer if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f" command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit" command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \ print -P "%F{33} %F{34}Installation successful.%f%b" || \ print -P "%F{160} The clone has failed.%f%b" fi source "$HOME/.local/share/zinit/zinit.git/zinit.zsh" autoload -Uz _zinit (( ${+_comps} )) && _comps[zinit]=_zinit # Load a few important annexes, without Turbo # (this is currently required for annexes) zinit light-mode for \ zdharma-continuum/zinit-annex-as-monitor \ zdharma-continuum/zinit-annex-bin-gem-node \ zdharma-continuum/zinit-annex-patch-dl \ zdharma-continuum/zinit-annex-rust ### End of Zinit's installer chunk # Load plugins with zinit zinit ice depth=1 zinit light jeffreytse/zsh-vi-mode ZVM_VI_INSERT_ESCAPE_BINDKEY=jk zinit light zsh-users/zsh-syntax-highlighting