dotfiles/zshrc

143 lines
4.0 KiB
Bash
Raw Normal View History

2021-03-29 21:10:02 +02:00
# $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
2021-04-08 20:29:28 +02:00
zstyle ':completion:*' completer _complete _ignored _match _prefix
2021-03-29 21:10:02 +02:00
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
2021-04-03 14:44:58 +02:00
# TODO: fuzzy search broken
2021-03-29 21:10:02 +02:00
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
2020-06-26 14:19:50 +02:00
2021-03-29 21:10:02 +02:00
# Vim keymap
bindkey -v
bindkey '^w' backward-kill-word
2021-04-03 14:44:58 +02:00
bindkey '^r' history-incremental-search-backward
2020-06-26 14:19:50 +02:00
2020-07-01 11:51:53 +02:00
# Other aliases
2021-04-08 16:06:02 +02:00
alias be="bundle exec"
alias berc="bundle exec rails console"
alias bers="bundle exec rails server"
2021-04-19 10:10:47 +02:00
alias berspec="bundle exec rspec --no-profile"
2021-03-19 15:03:28 +01:00
alias c-="cd -"
2021-03-29 21:10:02 +02:00
alias c.="cd .."
2021-03-24 09:16:09 +01:00
alias cdg=cdgit
2021-03-29 21:10:02 +02:00
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"
2021-04-10 21:43:09 +02:00
alias gba="go build ./..."
2021-04-28 10:33:33 +02:00
alias gbat="go build ./... && go test ./..."
2021-03-29 21:10:02 +02:00
alias gc="git commit"
alias gd="git diff"
2021-03-26 17:24:46 +01:00
alias gg="go get"
2021-04-03 10:46:29 +02:00
alias gl="git pull"
2021-03-29 21:10:02 +02:00
alias gp="git push"
alias gst="git status"
2021-03-26 17:24:46 +01:00
alias gt="go test"
2021-04-08 12:31:16 +02:00
alias gta="go test ./..."
2021-04-08 20:37:14 +02:00
alias k9="kill -9"
2021-03-15 16:29:40 +01:00
alias ll="exa -l --group-directories-first --git"
2021-03-29 21:10:02 +02:00
alias ls="exa --color=auto"
2021-04-03 11:51:04 +02:00
alias ng="noglob"
2021-03-15 16:29:40 +01:00
alias pg="pgrep -fa"
2021-03-29 21:10:02 +02:00
alias pk="pkill -fc"
alias rez="source $HOME/.zshenv && source $ZDOTDIR/.zshrc"
2021-03-29 21:10:02 +02:00
alias sc="systemctl"
2021-04-03 11:51:04 +02:00
alias sk="setkeys"
2021-04-08 20:37:14 +02:00
alias ssc="sudo systemctl"
2021-03-29 21:10:02 +02:00
alias sysc="systemctl"
2021-04-28 10:33:33 +02:00
alias rggo="rg -g '*\.go' -g '!vendor/'"
2021-05-31 10:29:55 +02:00
alias rggs="rg -g '*\.go' -g '!vendor/' -g '!*_test.go'"
2021-04-28 10:33:33 +02:00
alias rggt="rg -g '*\_test.go' -g '!vendor/'"
2021-04-06 12:18:53 +02:00
alias tm="tmux attach"
2021-04-28 09:47:35 +02:00
alias tmd="tmux new -s default -c $HOME || tmux attach -t default"
2021-04-06 12:18:53 +02:00
alias tms="tmuxsess"
2021-03-31 21:34:50 +02:00
alias wg="sudo wg"
alias wgdown="sudo wgdown"
alias wgup="sudo wgup"
2021-03-29 21:10:02 +02:00
alias zzz="sudo systemctl hibernate"
2020-07-01 11:51:53 +02:00
# recursive grep with line numbers and colour, ignoring binary files:
2020-07-30 14:51:44 +02:00
alias gnr="grep -nR -I --color"
2020-07-01 11:51:53 +02:00
# same but case-insensitive:
2020-07-30 14:51:44 +02:00
alias gnri="grep -nRi -I --color"
2020-07-01 11:51:53 +02:00
2020-06-26 14:19:50 +02:00
# On boot, power on bluetooth and start xfce
if [ $(tty) = "/dev/tty1" ]; then
bluetoothctl power on
startx
fi
# For Linux, disable Caps-Lock:
if [ -x "setxkbmap" ]; then
setxkbmap -option caps:none
fi
2021-01-06 14:34:33 +01:00
2021-03-29 21:10:02 +02:00
# Set zshfunctions dir as per https://github.com/alacritty/alacritty/blob/master/INSTALL.md#shell-completions
2021-03-31 14:15:08 +02:00
fpath+=${ZDOTDIR:-~}/functions
2021-01-25 09:24:13 +01:00
2021-03-10 14:22:17 +01:00
# fzf configuration
2021-01-06 14:34:33 +01:00
export KEYTIMEOUT=2
2021-03-10 14:22:17 +01:00
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
2021-03-29 21:10:02 +02:00
# set PATHs (highest priority last)
export PATH=$HOME/go/bin:$PATH
export PATH=$HOME/local/sbin:$PATH
export PATH=$HOME/local/bin:$PATH
export PATH=$HOME/bin:$PATH
export PATH=$HOME/.local/bin:$PATH
export PATH=$HOME/script:$PATH
2021-05-03 10:25:24 +02:00
export VIMPLUGIN="$HOME/.vim/pack/git-plugins"
2021-04-08 20:17:57 +02:00
# source local zshrc, if it exists (not: not in git)
if [ -f $ZDOTDIR/.zshrc.local ]; then
. $ZDOTDIR/.zshrc.local
fi
2021-04-08 10:53:27 +02:00
2021-03-29 21:10:02 +02:00
# set up asdf
2021-04-08 20:17:57 +02:00
if [ -f $HOME/.asdf/asdf.sh ]; then
. $HOME/.asdf/asdf.sh
else
echo "Warning: asdf not found, skipping"
fi