dotfiles/zsh/zshrc

162 lines
5.8 KiB
Bash

source ~/.config/zsh/antigen.zsh
# if command -v git >/dev/null && [ ! -d ~/.config/zsh/powerlevel10k ]; then
# echo "info: installing p10k"
# git clone --depth 1 --single-branch https://github.com/romkatv/powerlevel10k.git ~/.config/zsh/powerlevel10k
# fi
#
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
source ~/.config/zsh/theme/powerlevel10k.zsh-theme
source ~/.config/zsh/conf.d/*.zsh
source ~/.config/zsh/termsupport.zsh
source ~/.config/zsh/title.zsh
foreground () { fg }
zle -N foreground
antigen bundle zsh-users/zsh-syntax-highlighting
antigen bundle zsh-users/zsh-history-substring-search
antigen bundle zsh-users/zsh-autosuggestions
antigen bundle zsh-users/zsh-completions
antigen bundle ael-code/zsh-colored-man-pages
antigen apply
# {{{ Exports
#export GOPROXY=https://proxy.neonxp.ru
export GOPRIVATE=devopar.hippoparking.ru,gitlab.sovcombank.group
export EDITOR="nvim"
#export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
export ANDROID_HOME=$HOME/projects/android/
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/.local/bin:~/go/bin:~/.cargo/bin
export GOBIN=~/go/bin
export GPG_TTY=$(tty)
export LS_OPTIONS='--color=auto'
eval "$(dircolors -b)"
fpath+="~/.config/zsh/comp"
# }}}
# {{{ Aliases
alias ls='ls $LS_OPTIONS -F'
alias l='ls $LS_OPTIONS -F'
alias j="sudo journalctl"
alias s='sudo'
alias sctl="sudo systemctl"
alias ll="ls -AFhl"
alias cp="cp -i"
alias gitpush="git add . && git commit --amend --no-edit && git push -f"
alias yu="ssh-add -e /usr/lib/x86_64-linux-gnu/libykcs11.so; ssh-add -s /usr/lib/x86_64-linux-gnu/libykcs11.so"
alias n="nvim"
alias nv="nvim ."
alias cp="cp -i"
alias df="df -h"
alias free="free -m"
alias gitu='git add . && git commit && git push'
alias g=git
alias share='wl-paste | curl -si -d @- https://nixshare.ru/paste/clipboard.txt | grep "location:" | sed -s "s/location: //" | wl-copy'
alias p=python3
[[ ! -f `which exa` ]] || alias ls="exa" && alias ll="exa -l"
# }}}
# {{{ Functions
function tk() { mkdir -p $1; cd $1; }
# }}}
# {{{ Options section
setopt correct # Auto correct mistakes
setopt extendedglob # Extended globbing. Allows using regular expressions with *
setopt nocaseglob # Case insensitive globbing
setopt rcexpandparam # Array expension with parameters
setopt nocheckjobs # Don"t warn about running processes when exiting
setopt numericglobsort # Sort filenames numerically when it makes sense
setopt nobeep # No beep
setopt appendhistory # Immediately append history instead of overwriting
setopt histignorealldups # If a new command is a duplicate, remove the older one
setopt autocd # if only directory path is entered, cd there.
setopt inc_append_history # save commands are added to the history immediately, otherwise only when shell exits.
setopt histignorespace # Don"t save commands that start with space
zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' # Case insensitive tab completion
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Colored completion (different colors for dirs/files/etc)
zstyle ':completion:*' rehash true # automatically find new executables in path
zstyle ':completion:*' menu select # Highlight menu selection
# Speed up completions
zstyle ':completion:*' accept-exact '*(N)'
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache
zstyle ":completion:*:processes" command "ps -ax"
zstyle ":completion:*:*:kill:*:processes" list-colors "=(#b) #([0-9]#)*=0=01;32"
zstyle ":completion:*:*:kill:*" menu yes select
zstyle ":completion:*:kill:*" force-list always
zstyle ":completion:*:processes-names" command "ps -e -o comm="
zstyle ":completion:*:*:killall:*" menu yes select
zstyle ":completion:*:killall:*" force-list always
HISTFILE=~/.zsh_history
HISTSIZE=100000
SAVEHIST=100000
WORDCHARS=${WORDCHARS//\/[&.;]}
autoload -U compinit colors zcalc
compinit -d
autoload -U add-zsh-hook
add-zsh-hook precmd mzc_termsupport_precmd
add-zsh-hook preexec mzc_termsupport_preexec
add-zsh-hook precmd mzc_termsupport_cwd
colors
zmodload zsh/terminfo
# }}}
# {{{ Binds
bindkey "$terminfo[kcuu1]" history-substring-search-up
bindkey "$terminfo[kcud1]" history-substring-search-down
bindkey "^[[A" history-substring-search-up
bindkey "^[[B" history-substring-search-down
bindkey -e
bindkey "^[[7~" beginning-of-line # Home key
bindkey "^[[H" beginning-of-line # Home key
if [[ "${terminfo[khome]}" != "" ]]; then
bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning
fi
bindkey "^[[8~" end-of-line # End key
bindkey "^[[F" end-of-line # End key
if [[ "${terminfo[kend]}" != "" ]]; then
bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line
fi
bindkey "^[[2~" overwrite-mode # Insert key
bindkey "^[[3~" delete-char # Delete key
bindkey "^[[C" forward-char # Right key
bindkey "^[[D" backward-char # Left key
bindkey "^[[5~" history-beginning-search-backward # Page up key
bindkey "^[[6~" history-beginning-search-forward # Page down key
# Navigate words with ctrl+arrow keys
bindkey "^[Oc" forward-word
bindkey "^[Od" backward-word
bindkey "^[[1;5D" backward-word
bindkey "^[[1;5C" forward-word
bindkey "^H" backward-kill-word # delete previous word with ctrl+backspace
bindkey "^[[Z" undo # Shift+tab undo last action
bindkey "^z" foreground
# ctrl + space accept suggestion
bindkey "^ " autosuggest-accept
# }}}
ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD
ZSH_THEME_TERM_TITLE_IDLE="%n@%m:%~"
# {{{ Overwriting
source ~/.config/zsh/theme.zsh
[[ ! -f env.sh ]] || source ./env.sh
[[ ! -f ~/.zshrc.local.zsh ]] || source ~/.zshrc.local.zsh
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# }}}