diff options
Diffstat (limited to 'src/dotfiles/zshrc')
-rwxr-xr-x | src/dotfiles/zshrc | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/dotfiles/zshrc b/src/dotfiles/zshrc new file mode 100755 index 0000000..55330f9 --- /dev/null +++ b/src/dotfiles/zshrc @@ -0,0 +1,88 @@ +#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 |