103 lines
2.8 KiB
Bash
103 lines
2.8 KiB
Bash
# $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 $HOME/.zshenv && source $ZDOTDIR/.zshrc"
|
|
alias sc="systemctl"
|
|
alias sysc="systemctl"
|
|
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
|