Refactor zsh and sh rcs

This commit is contained in:
Marty Oehme 2020-02-02 15:24:04 +01:00
parent 0e6e61c470
commit 52b054a2d2
5 changed files with 37 additions and 104 deletions

80
.gitignore vendored
View file

@ -1,80 +1,6 @@
*/.netrwhist # no idea why gopass adds this image to config path
**/gopass-logo-small.png gopass-logo-small.png
#
# Created by https://www.gitignore.io/api/vim,linux
# Edit at https://www.gitignore.io/?templates=vim,linux
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### Vim ###
# Swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
# Coc configuration directory
.vim
### Zsh ###
# Zsh compiled script + zrecompile backup
*.zwc
*.zwc.old
# Zsh completion-optimization dumpfile
*zcompdump*
# Zsh zcalc history
.zcalc_history
# A popular plugin manager's files
._zplugin
.zplugin_lstupd
# zdharma/zshelldoc tool's files
zsdoc/data
# robbyrussell/oh-my-zsh/plugins/per-directory-history plugin's files
# (when set-up to store the history in the local directory)
.directory_history
# MichaelAquilina/zsh-autoswitch-virtualenv plugin's files
# (for Zsh plugins using Python)
.venv
# Zunit tests' output
/tests/_output/*
!/tests/_output/.gitkeep
# End of https://www.gitignore.io/api/vim,linux,zsh
# Ignore dynamic colorschemes set by styler # Ignore dynamic colorschemes set by styler
colorscheme.vim colorscheme.vim
colorscheme colorscheme

View file

@ -52,6 +52,8 @@ if exist git; then
alias gd='git diff' alias gd='git diff'
alias gds='git diff --staged' alias gds='git diff --staged'
alias gi='git ignore'
alias glog='git log --stat' alias glog='git log --stat'
alias glg='git log --oneline --decorate --graph' alias glg='git log --oneline --decorate --graph'
alias glga='git log --oneline --decorate --graph --remotes --all' alias glga='git log --oneline --decorate --graph --remotes --all'
@ -66,7 +68,7 @@ if exist git; then
alias grv='git remote -v' alias grv='git remote -v'
alias grs='git restore --staged' alias grs='git restore --staged'
alias grss='git restore' alias grs!='git restore'
alias grbi='git rebase -i' alias grbi='git rebase -i'
alias grbc='git rebase --continue' alias grbc='git rebase --continue'
@ -94,10 +96,12 @@ if exist fzf; then
# Display fuzzy-searchable history # Display fuzzy-searchable history
alias fzf_history="history | fzf --tac --height 20" alias fzf_history="history | fzf --tac --height 20"
# Fuzzy search packages to install # Fuzzy search packages to install
if exist yay; then
alias fzf_yay="yay -Slq | fzf -m --preview 'yay -Si {1}' | xargs -ro yay -S" alias fzf_yay="yay -Slq | fzf -m --preview 'yay -Si {1}' | xargs -ro yay -S"
# Fuzzy uninstall packages # Fuzzy uninstall packages
alias fzf_yayrns="yay -Qeq | fzf -m --preview 'yay -Qi {1}' | xargs -ro yay -Rns" alias fzf_yayrns="yay -Qeq | fzf -m --preview 'yay -Qi {1}' | xargs -ro yay -Rns"
fi fi
fi
# vifm # vifm
if exist vifm; then if exist vifm; then
@ -106,5 +110,3 @@ if exist vifm; then
# enable picture preview script # enable picture preview script
exist vifmrun && alias vifm=vifmrun exist vifmrun && alias vifm=vifmrun
fi fi
unset -f exist

View file

@ -40,5 +40,5 @@ export GOPATH="$HOME/projects/gopath/"
export PATH="$PATH:$GOPATH/bin" export PATH="$PATH:$GOPATH/bin"
## LANG LOCALE UTF-8 ## LANG LOCALE UTF-8
export LC_ALL="en_US.utf-8" export LC_ALL="en_US.UTF-8"
export LANG="en_US.utf-8" export LANG="en_US.UTF-8"

View file

@ -348,7 +348,7 @@
# Untracked files icon. It's really a question mark, your font isn't broken. # Untracked files icon. It's really a question mark, your font isn't broken.
# Change the value of this parameter to show a different icon. # Change the value of this parameter to show a different icon.
typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON=''
POWERLEVEL9K_VCS_UNTRACKED_ICON=${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON} POWERLEVEL9K_VCS_UNTRACKED_ICON=${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}
# Formatter for Git status. # Formatter for Git status.
@ -409,19 +409,19 @@
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape % res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape %
fi fi
# ⇣42 if behind the remote. # ⇣42 if behind the remote. customized to ↓
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_COMMITS_BEHIND}" (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_COMMITS_BEHIND}"
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. ch to ↑
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}${VCS_STATUS_COMMITS_AHEAD}" (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}${VCS_STATUS_COMMITS_AHEAD}"
# *42 if have stashes. # *42 if have stashes.
(( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" (( VCS_STATUS_STASHES )) && res+=" ${clean}${VCS_STATUS_STASHES}"
# 'merge' if the repo is in an unusual state. # 'merge' if the repo is in an unusual state.
[[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}"
# ~42 if have merge conflicts. # ~42 if have merge conflicts.
(( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}${VCS_STATUS_NUM_CONFLICTED}"
# +42 if have staged changes. # +42 if have staged changes.
(( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}${VCS_STATUS_NUM_STAGED}"
# !42 if have unstaged changes. # !42 if have unstaged changes.
(( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}"
# ?42 if have untracked files. It's really a question mark, your font isn't broken. # ?42 if have untracked files. It's really a question mark, your font isn't broken.

View file

@ -1,6 +1,9 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# #
CONFDIR="${XDG_CONFIG_HOME:-$HOME/.config}"
ZSHCONFDIR="$CONFDIR/zsh"
# Set completion style # Set completion style
# The following lines were added by compinstall # The following lines were added by compinstall
zstyle ':completion:*' completer _complete _ignored _approximate zstyle ':completion:*' completer _complete _ignored _approximate
@ -8,7 +11,7 @@ zstyle ':completion:*' list-colors ''
zstyle ':completion:*' matcher-list '' '+m:{[:lower:]}={[:upper:]} r:|[._-]=** r:|=**' zstyle ':completion:*' matcher-list '' '+m:{[:lower:]}={[:upper:]} r:|[._-]=** r:|=**'
zstyle ':completion:*' menu select=1 zstyle ':completion:*' menu select=1
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle :compinstall filename '/home/marty/.config/zsh/.zshrc' zstyle :compinstall filename "$ZSHCONFDIR/.zshrc"
# End of lines added by compinstall # End of lines added by compinstall
autoload -Uz compinit zmv autoload -Uz compinit zmv
compinit compinit
@ -22,13 +25,13 @@ fi
# load all plugins # load all plugins
[ -f "$XDG_CONFIG_HOME/zsh/plugins.zsh" ] && source "$XDG_CONFIG_HOME/zsh/plugins.zsh" [ -f "$ZSHCONFDIR/plugins.zsh" ] && source "$ZSHCONFDIR/plugins.zsh"
# shellcheck source=alias # shellcheck source=alias
[ -f "$XDG_CONFIG_HOME/sh/alias" ] && source "$XDG_CONFIG_HOME/sh/alias" [ -f "$CONFDIR/sh/alias" ] && source "$CONFDIR/sh/alias"
# load additional aliases # load additional aliases
if [ -d "$XDG_CONFIG_HOME/sh/alias.d" ]; then if [ -d "$CONFDIR/sh/alias.d" ]; then
for _alias in "$XDG_CONFIG_HOME/sh/alias.d"/*.sh; do for _alias in "$CONFDIR/sh/alias.d"/*.sh; do
. "$_alias" . "$_alias"
done done
unset _alias unset _alias
@ -44,7 +47,7 @@ ENABLE_CORRECTION="true"
# Speed up autocomplete, force prefix mapping # Speed up autocomplete, force prefix mapping
zstyle ':completion:*' accept-exact '*(N)' zstyle ':completion:*' accept-exact '*(N)'
zstyle ':completion:*' use-cache on zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache zstyle ':completion:*' cache-path "${XDG_CACHE_HOME:-$HOME/.cache}/zshcompcache"
# shellcheck disable=SC2016 # shellcheck disable=SC2016
zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)*==34=34}:${(s.:.)LS_COLORS}")' zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)*==34=34}:${(s.:.)LS_COLORS}")'
@ -67,6 +70,7 @@ export HISTSIZE=100000
export SAVEHIST=100000 export SAVEHIST=100000
export HISTFILE="$XDG_DATA_HOME/zsh_history" export HISTFILE="$XDG_DATA_HOME/zsh_history"
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help" export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help"
## Set ZSH History aliases ## Set ZSH History aliases
# Show the top 5 commands used in recent history # Show the top 5 commands used in recent history
history_top() { history_top() {
@ -89,11 +93,7 @@ bindkey " " globalias
bindkey "^ " magic-space # control-space to bypass completion bindkey "^ " magic-space # control-space to bypass completion
bindkey -M isearch " " magic-space # normal space during searches bindkey -M isearch " " magic-space # normal space during searches
# To customize prompt, run `p10k configure` or edit ~/.config/zsh/.p10k.zsh. # Deduplicate PATH - remove any duplicate entries from PATH
[[ ! -f "$XDG_CONFIG_HOME"/zsh/.p10k.zsh ]] || source "$XDG_CONFIG_HOME"/zsh/.p10k.zsh
# In case a plugin adds a redundant path entry, remove duplicate entries
# from PATH
# from: https://unix.stackexchange.com/questions/40749/remove-duplicate-path-entries-with-awk-command # from: https://unix.stackexchange.com/questions/40749/remove-duplicate-path-entries-with-awk-command
get_var() { get_var() {
eval 'printf "%s\n" "${'"$1"'}"' eval 'printf "%s\n" "${'"$1"'}"'
@ -110,3 +110,8 @@ dedup_pathvar() {
dedup_pathvar PATH dedup_pathvar PATH
dedup_pathvar MANPATH dedup_pathvar MANPATH
# To customize prompt, run `p10k configure` or edit ~/.config/zsh/.p10k.zsh.
[[ ! -f "$ZSHCONFDIR/.p10k.zsh" ]] || source "$ZSHCONFDIR/.p10k.zsh"
unset CONFDIR
unset ZSHCONFDIR