sundry/zsh/zshrc

116 lines
3.3 KiB
Bash

PATH=$PATH:${HOME}/bin:${HOME}/.local/bin
# Set Vars for ssh via gpg
export GPG_TTY=$(tty)
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
#gpgconf --launch gpg-agent
# Settings for the *omz/lib/history*
#
# Set the timestamp format for history for ISO format
export HIST_STAMPS="yyyy-mm-dd"
# Don't bother storing these commands in history
export HISTORY_IGNORE="(ls|cd|cd -|pwd|exit|date|.* --help)"
# Set the location for the zsh_history file to be inside our .zsh foler
export HISTFILE="$ZDOTDIR/.zsh_history"
# Keep this many history events in per-shell memory
export HISTSIZE=100000
# Keep this many history events in the log file
export SAVEHIST=50000
export ZSH_TMUX_AUTOSTART=true
if [ -e ${HOME}/.zplug/init.zsh ]; then
# For local manual installs
source ~/.zplug/init.zsh
elif [ -e /usr/share/zplug/init.zsh ]; then
# For system-wide installs
source /usr/share/zplug/init.zsh
elif [ -e /usr/local/opt/zplug/init.zsh ]; then
# For homebrew MacOSX
export ZPLUG_HOME=/usr/local/opt/zplug
source $ZPLUG_HOME/init.zsh
fi
alias pip=pip3
alias vim="nvim"
alias vi="nvim"
alias vimdiff="nvim -d"
alias dlports="docker container ls --format table '{{.ID}}\t{{.Names}}\t{{.Ports}} -a'"
alias gpb=git-parent-branch
export EDITOR=nvim
# Prefer case sensitive autocomplete
export CASE_SENSITIVE="true"
# Default all my venv to python3
export AUTOSWITCH_DEFAULT_PYTHON=$(which python3)
# My prompt reflects my venv automatically, don't pollute it by default
export VIRTUAL_ENV_DISABLE_PROMPT=1
# Use this to define the git lg alias
function define_gitlg {
git config --global alias.lg log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --abbrev-commit
}
# Code to maintain pagent connections to tmux through link drops
#SOCK="/tmp/ssh-agent-$USER-tmux"
#if test $SSH_AUTH_SOCK && [ $SSH_AUTH_SOCK != $SOCK ]; then
# rm -f $SOCK
# ln -sf $SSH_AUTH_SOCK $SOCK
# SSH_AUTH_SOCK=$SOCK
#fi
#zplug "zsh-users/zsh-completions"
zplug "marlonrichert/zsh-autocomplete"
zplug "plugins/docker-compose", from:oh-my-zsh
zplug "plugins/git", from:oh-my-zsh
zplug "lib/history", from:oh-my-zsh
zplug "plugins/sudo", from:oh-my-zsh
zplug "plugins/vi-mode", from:oh-my-zsh
zplug "plugins/vagrant", from:oh-my-zsh
zplug "lib/termsupport", from:oh-my-zsh
zplug "tcnksm/docker-alias", use:zshrc
zplug "MichaelAquilina/zsh-autoswitch-virtualenv"
#zplug "jqlang/jq"
zplug "b4b4r07/httpstat", as:command, use:'(*).sh', rename-to:'$1'
zplug "drwetter/testssl.sh", as:command, use:'(*).sh', rename-to:'$1'
#zplug "drwetter/testssl.sh", as:command, use: 'testssl.sh'
#zplug "nichus/zsh-tmux-multisession"
zplug "nichus/zsh-todotxt"
zplug "nichus/qi3ber2", as:theme
zplug "zsh-users/zsh-syntax-highlighting", defer:2
zplug "zsh-users/zsh-history-substring-search", defer: 2
zplug "zplug/zplug", hook-build: "zplug --self-manage"
zplug check || zplug install
zplug load
unsetopt share_history
unsetopt hist_verify
setopt hist_ignore_all_dups
setopt hist_find_no_dups
source <(kubectl completion zsh)
eval "$(zoxide init zsh)"
bindkey '^U' backward-kill-line
bindkey '^K' kill-line
bindkey '^Y' yank
function git-parent-branch {
git show-branch -a \
| grep '\*' \
| grep -v `git-rev-parse --abbrev-ref HEAD` \
| head -n1 \
| sed 's/.*\[\(.*\)\].*/\1/' \
| sed 's/[\^~].*//'
}