# $HOME/.config/zsh/.zshrc # Note: Install zsh-completions package setopt hist_find_no_dups setopt extended_history setopt inc_append_history setopt auto_pushd setopt pushd_ignore_dups setopt pushd_silent setopt pushd_minus setopt pushd_to_home setopt prompt_subst # Prompt prompt_git_info () { bn=$(git bn 2>/dev/null) if [[ $? -eq 0 ]]; then echo " %F{#aaaaaa}(%F{green}$bn%F{#aaaaaa})" fi } PROMPT='%F{#666666}[%F{#AAAAAA}%n%F{#aaaaaa}@%F{red}%m %F{blue}%1~$(prompt_git_info)%F{white}%F{#666666}]%F{white}%# %f' RPROMPT='%(?.%F{green}√%f.%F{red}%?%f) %F{#666666}%*%f' # Completion # The following lines were added by compinstall zstyle ':completion:*' completer _expand _complete _ignored _approximate zstyle ':completion:*' expand prefix suffix zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*' menu select=1 zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s zstyle :compinstall filename '/home/rob/.config/zsh/.zshrc' autoload -Uz compinit compinit # End of lines added by compinstall # Search using up/down cursors # https://unix.stackexchange.com/a/285151/185944 # Note that the Up and Down shortcuts appear to work in Ubuntu, not in Arch: autoload -U up-line-or-beginning-search autoload -U down-line-or-beginning-search zle -N up-line-or-beginning-search zle -N down-line-or-beginning-search bindkey "^[[A" up-line-or-beginning-search # up bindkey "^[[B" down-line-or-beginning-search # down # Vim keymap bindkey -v bindkey '^P' up-history bindkey '^N' down-history bindkey '^w' backward-kill-word # Other aliases alias c-="cd -" alias c.="cd .." alias cdg=cdgit alias cdgit='cd $(git rev-parse --show-toplevel)' alias clp="tmux kill-pane" alias clw="tmux kill-window" alias d="dirs -v" alias dc="docker-compose -f docker-compose.yml" alias dcd="docker-compose -f docker-compose.yml -f docker-compose.development.yml" alias gb="go build" alias gc="git commit" alias gd="git diff" alias gg="go get" alias gp="git push" alias gst="git status" alias gt="go test" alias ll="exa -l --group-directories-first --git" alias ls="exa --color=auto" alias pg="pgrep -fa" alias pk="pkill -fc" alias rez="source $ZDOTDIR/.zshrc" alias sc="systemctl" alias sysc="systemctl" alias updatevimplugins="cd $HOME/.vim/pack/git-plugins && find . -mindepth 2 -maxdepth 2 -type d | xargs -I{} bash -c 'cd {} ; printf \"In {}...\"; git pull --rebase' ; cd -" alias zzz="sudo systemctl hibernate" # recursive grep with line numbers and colour, ignoring binary files: alias gnr="grep -nR -I --color" # same but case-insensitive: alias gnri="grep -nRi -I --color" # On boot, power on bluetooth and start xfce if [ $(tty) = "/dev/tty1" ]; then bluetoothctl power on startx fi # For Ubuntu, disable Caps-Lock: setxkbmap -option caps:none # Set zshfunctions dir as per https://github.com/alacritty/alacritty/blob/master/INSTALL.md#shell-completions fpath+=${ZDOTDIR:-~}/.zsh_functions # fzf configuration export KEYTIMEOUT=2 [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh # set up asdf . $HOME/.asdf/asdf.sh