dotfiles/dot_config/zsh/rc.zsh
eeleater 00077d17b1 Add .config/zsh/env.zsh
Add .config/zsh/rc.zsh
Add .config/zsh/.zshenv
Add .config/zsh/.zshrc
2022-11-13 16:23:38 +01:00

82 lines
2.8 KiB
Bash

# compinit
autoload -Uz compinit
compinit -d $XDG_CACHE_HOME/zsh/compdump
# autosuggestions
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# history
mkdir -p "$XDG_CACHE_HOME/zsh" &>/dev/null
export SAVEHIST=1048576
export HISTSIZE=1048576
export HISTFILE="$XDG_CACHE_HOME/zsh/history"
setopt inc_append_history
# libraries
source $OML/history.zsh
source $OML/completion.zsh
source $OML/directories.zsh
# plugins
source $OMP/command-not-found/command-not-found.plugin.zsh
source $OMP/extract/extract.plugin.zsh
source $OMP/systemd/systemd.plugin.zsh
source $OMP/fzf/fzf.plugin.zsh
# plugins (self)
source /usr/share/zsh/plugins/fzf-tab/fzf-tab.zsh
source /usr/share/zsh/plugins/fzf-marks/fzf-marks.zsh
source /usr/share/zsh/plugins/evalcache/evalcache.zsh
source /usr/share/zsh/plugins/colorize/colorize.zsh
source /usr/share/zsh/plugins/titles/titles.zsh
# eval stuff
_evalcache zoxide init zsh
_evalcache dircolors -b /usr/share/LS_COLORS/LS_COLORS
_evalcache keychain --dir "$XDG_CACHE_HOME/keychain" --eval --quiet id_rsa
_evalcache starship init zsh
#_evalcache oh-my-posh init zsh
_evalcache atuin init zsh
_evalcache navi widget zsh
# aliases
alias ls='exa'
alias l='exa -al --color=always --group-directories-first'
alias cat='bat'
alias cd='z'
alias grep='rg'
alias find='fd'
# make rm, cp and mv safer
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# misc aliases
alias tree='tree -a -I .git'
alias https='http --default-scheme=https'
alias termbin="nc termbin.com 9999"
alias ktheme='kitty +kitten themes --reload-in=all'
if (( ${+commands[nvim]} )); then alias vim="nvim"; fi
# key bindings
run_ranger () { echo; ranger < $TTY; zle redisplay }
zle -N run_ranger
bindkey '^f' run_ranger
# use known_hosts for completion
zstyle -e ':completion:*:(ssh|scp|sftp|rsh|rsync):hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ })'
# order stuff
zstyle ':completion:*:(scp|ssh):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
zstyle ':completion:*:scp:*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
zstyle ':completion:*:ssh:*' group-order hosts-domain hosts-host users hosts-ipaddr
# ignored patterns
zstyle ':completion:*:*:*:users' ignored-patterns '*'
zstyle ':completion:*:*:*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost localhost4 localhost6 ip6-localhost broadcasthost
zstyle ':completion:*:*:*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*' '*localdomain*' '*.eeleater.org' '*.local' '*.hbz-nrw.de'
zstyle ':completion:*:*:*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
# syntax highlighting
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh