.zshrc
#
# Tmux
#
if [ -z "$TMUX" ] # When zsh is started attach to current tmux session or create a new one
then
tmux attach -t TMUX || tmux new -s TMUX
fi
#
# vim
#
export EDITOR="vim"
alias vim="vim"
#
# Oh-my-zsh
#
export ZSH="$HOME/.oh-my-zsh"
SPACESHIP_PROMPT_FIRST_PREFIX_SHOW=true # Show prefix before first line in prompt
ZSH_THEME="spaceship" # Set theme
plugins=(
# git # https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git
history-substring-search # ZSH port of Fish history search. Begin typing command, use up arrow to select previous use
zsh-autosuggestions # Suggests commands based on your history
zsh-completions # More completions
zsh-syntax-highlighting # Fish shell like syntax highlighting for Zsh
colored-man-pages # Self-explanatory
sudo # adds sudo to front of text by double pressing Esc
history-substring-search
)
autoload -U compinit && compinit # reload completions for zsh-completions
source $ZSH/oh-my-zsh.sh # required
source ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh # required
[[ -f ~/.bash_aliases ]] && . ~/.bash_aliases
# Colorize autosuggest
export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=5'
#
# Spaceship-prompt
#
# Spaceship-prompt customization
SPACESHIP_PROMPT_ORDER=(
dir # Current directory section
user # Username section
host # Hostname section
git # Git section (git_branch + git_status)
time # Time stampts section
# hg # Mercurial section (hg_branch + hg_status)
# package # Package version
node # Node.js section
ruby # Ruby section
# elixir # Elixir section
# xcode # Xcode section
# swift # Swift section
# golang # Go section
# php # PHP section
# rust # Rust section
# haskell # Haskell Stack section
# julia # Julia section
# docker # Docker section
# aws # Amazon Web Services section
venv # virtualenv section
conda # conda virtualenv section
pyenv # Pyenv section
# dotnet # .NET section
# ember # Ember.js section
# kubecontext # Kubectl context section
exec_time # Execution time
line_sep # Line break
battery # Battery level and status
vi_mode # Vi-mode indicator
jobs # Background jobs indicator
# exit_code # Exit code section
char # Prompt character
)
SPACESHIP_DIR_PREFIX="%{$fg[blue]%}┌─[%b "
SPACESHIP_DIR_SUFFIX="%{$fg[blue]%} ] "
SPACESHIP_CHAR_SYMBOL="%{$fg[blue]%}└─▪%b "
#
# Other
#
# RVM
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
# This speeds up pasting w/ autosuggest
# https://github.com/zsh-users/zsh-autosuggestions/issues/238
pasteinit() {
OLD_SELF_INSERT=${${(s.:.)widgets[self-insert]}[2,3]}
zle -N self-insert url-quote-magic # I wonder if you'd need `.url-quote-magic`?
}
pastefinish() {
zle -N self-insert $OLD_SELF_INSERT
}
zstyle :bracketed-paste-magic paste-init pasteinit
zstyle :bracketed-paste-magic paste-finish pastefinish
export PATH="$HOME/bin:$PATH"
## Load Aliases
[[ -f ~/.aliases ]] && . ~/.aliases
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm
# zsh-history-substring-search
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
# zsh-history-substring-search
source ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
# Remove (base) from terminal
# PS1=$(echo $PS1 | sed 's/(base)//')export PATH="$HOME/.rbenv/bin:$PATH"
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
source /home/joe/.config/broot/launcher/bash/br
Last updated