87 lines
2.8 KiB
Bash
87 lines
2.8 KiB
Bash
# Lines configured by zsh-newuser-install
|
|
HISTFILE=~/.histfile
|
|
HISTSIZE=1000
|
|
SAVEHIST=1000
|
|
setopt autocd nomatch notify appendhistory sharehistory hist_ignore_space hist_ignore_all_dups hist_save_no_dups hist_find_no_dups
|
|
unsetopt beep extendedglob
|
|
bindkey -e
|
|
# End of lines configured by zsh-newuser-install
|
|
# The following lines were added by compinstall
|
|
zstyle :compinstall filename '/home/dom/.zshrc'
|
|
|
|
autoload -Uz compinit
|
|
compinit
|
|
# End of lines added by compinstall
|
|
|
|
parse_git_branch() {
|
|
local branch=""
|
|
branch=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')
|
|
local git_status=$(git status --porcelain 2>/dev/null)
|
|
local color=green
|
|
if echo "$git_status" | grep -q "^ M"; then
|
|
color=yellow
|
|
branch="${branch}*"
|
|
fi
|
|
if echo "$git_status" | grep -qE "^ A|^\?\?"; then
|
|
color=yellow
|
|
branch="${branch}+"
|
|
fi
|
|
if echo "$git_status" | grep -q "^ D"; then
|
|
color=yellow
|
|
branch="${branch}-"
|
|
fi
|
|
|
|
if [[ -n "$branch" ]]; then
|
|
branch=[%F{${color}}${branch}%F{reset}]
|
|
fi
|
|
echo " $branch"
|
|
}
|
|
|
|
precmd() {
|
|
print ""
|
|
print -rP "%F{#b4befe}%B%n@%m%b %2~%F{#f5e0dc}$(parse_git_branch)%f"
|
|
}
|
|
# PS1="%F{#008000}%B%n@%m%b %K{#3a3a3a}%1~%k:%f"
|
|
PROMPT="%B%F{#b4befe}$%f%b "
|
|
RPROMPT="%F{241}%B%T%b%f"
|
|
|
|
# set PATH so it includes user's private ~/.local/bin if it exists
|
|
if [ -d "$HOME/.local/bin" ] ; then
|
|
PATH="$HOME/.local/bin:$PATH"
|
|
fi
|
|
|
|
# Key bindings
|
|
bindkey "^[[3~" delete-char
|
|
bindkey "^[[H" beginning-of-line
|
|
bindkey "^[[F" end-of-line
|
|
bindkey "^[[1;5C" forward-word
|
|
bindkey "^[[1;5D" backward-word
|
|
|
|
# Aliases
|
|
alias ssh="TERM=xterm-256color ssh"
|
|
#alias fl='lsd -l -h -1 --group-dirs first -X --config-file ~/.config/lsd/config.yaml'
|
|
alias orphans='[[ -n $(pacman -Qdt) ]] && sudo pacman -Rs $(pacman -Qdtq) || echo "no orphans to remove"'
|
|
alias ls='exa --icons --color=always --group-directories-first'
|
|
alias ll='exa -alF --icons --color=always --group-directories-first'
|
|
alias la='exa -a --icons --color=always --group-directories-first'
|
|
alias l='exa -F --icons --color=always --group-directories-first'
|
|
|
|
# FZF
|
|
eval "$(fzf --zsh)"
|
|
export FZF_DEFAULT_COMMAND="fd --hidden --strip-cwd-prefix --exclude .git"
|
|
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
|
|
export FZF_ALT_C_COMMAND="fd --type=d --hidden --strip-cwd-prefix --exclude .git"
|
|
export FZF_DEFAULT_OPTS="--height 50% --layout=default --border --color=hl:#2dd4bf"
|
|
|
|
# FZF Previews
|
|
export FZF_CTRL_T_OPTS="--preview 'bat --color=always -n --line-range :500 {}'"
|
|
export FZF_ALT_C_OPTS="--preview 'eza --tree --color=always {} | head -200'"
|
|
|
|
# Plugins
|
|
source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
|
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
|
|
|
|
export SUDOEDITOR="vim"
|
|
export EDITOR="vim"
|