#Theion's zsh config # Enable colors and change prompt: autoload -U colors && colors # Load colors PROMPT="%B%F{cyan}%~ %F{none}$%b " #git integration autoload -Uz vcs_info precmd_vcs_info() { vcs_info } precmd_functions+=( precmd_vcs_info ) setopt prompt_subst RPROMPT='%(?..[%?] ) ${vcs_info_msg_0_}' zstyle ':vcs_info:git:*' formats '%b' 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" # 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 #function to quit in the direcory changed by lf 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 } # 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. #aliases alias pacman='sudo pacman' alias systemctl='sudo systemctl' alias arch-wiki='cd /usr/share/doc/arch-wiki/html/en/' alias ls='ls --color=auto' alias open='xdg-open' alias is="systemctl stop NetworkManager" alias blue="sudo systemctl start bluetooth" alias net="sudo systemctl start NetworkManager" alias lf="lfcd" alias touchOff='synclient TouchpadOff=1' alias ping='ping -c 2' alias clear='clear -x' unsetopt nomatch LFS=/mnt/lfs