From 285863cb4fd88acd2b02ff605e3b2f7b2811763e Mon Sep 17 00:00:00 2001 From: druckdev <63563978+druckdev@users.noreply.github.com> Date: Mon, 28 Sep 2020 02:06:08 +0200 Subject: [PATCH] zsh:alias: Refactor Reorder categories. Remove unused aliases and PATH modification. Refactor to keep lines under the maximum of 80 columns. Use brace expansion where an alias has different names. Simplify method for finding the wise and sose hash. --- .config/zsh/plugins/alias.zsh | 191 ++++++++++++++++------------------ 1 file changed, 88 insertions(+), 103 deletions(-) diff --git a/.config/zsh/plugins/alias.zsh b/.config/zsh/plugins/alias.zsh index cdf30b6..ecf2832 100644 --- a/.config/zsh/plugins/alias.zsh +++ b/.config/zsh/plugins/alias.zsh @@ -1,111 +1,96 @@ ## Author: druckdev ## Created: 2019-01-16 -## Add fslint-directory to PATH -PATH="${PATH:+${PATH}:}/usr/share/fslint/fslint" +# Default flags + alias ls='ls --color=auto --group-directories-first -p -v' + alias grep='grep --color' + alias cp='cp -i' + alias mv='mv -i' + alias rm='rm -I' + alias less='less -N' + alias lsblk='lsblk -f' + alias feh='feh -.' -## Add flags or shorten commands that I cannot remember -alias getclip="xclip -selection c -o" -alias setclip="perl -pe 'chomp if eof' | xclip -selection c" -alias pdfviewer='evince' -alias pdf='launch evince' -alias darkpdf='launch zathura' -alias geeqie='launch qeeqie' -alias grep='grep --color' -alias igrep='grep -i' -alias emacs-game='emacs -batch -l dunnet' -alias trash-restore='restore-trash' -alias cp='cp -i' -alias mv='mv -i' # --backup=t ?? -alias rm='rm -I' -alias less='less -N' -alias lsblk='lsblk -f' -alias rd='rmdir' -alias md='mkdir -p' -alias o='xdg-open' -alias p='pwd' -alias :q='exit' -alias :Q=:q -alias update='sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y; [ ! -e /var/run/reboot-required ] || printf "\n\nSystem restart required.\n"' -alias pdf2text='pdftotext' -alias pdf2txt='pdftotext' -alias rm='printf "\033[1;031mUse trash!\n\033[0m"; false' -alias battery='upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -E "to full|percentage" | tr -d " " | sed "s/:/: /"' -alias qrdecode='zbarimg' -alias pdfmerge='pdfunite' -alias loadhist='fc -RI' -alias wget='wget --config=${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc --hsts-file="${XDG_DATA_HOME:-$HOME/.local/share}/wget/wget-hsts"' -alias -g G='| grep ' -alias -g no2='2>/dev/null' -alias hex=xxd -alias bin='xxd -b -c4 | cut -d" " -f2-5' -if command -v nvim >/dev/null 2>&1; then - alias vim=nvim - alias vi=nvim -fi -alias tmux='tmux -f "$HOME/.config/tmux/tmux.conf"' -alias resetCursor='echo -ne "\e[5 q"' -alias makeThisScratchpad='echo -ne "\033]0;scratchpad-terminal\007"' -alias tmsu='tmsu -D "${XDG_DATA_HOME:-$HOME/.local/share}/tmsu/db"' -alias grepdate='grep -E "(={8})|([0-9]{4}([: -_][0-9]{2}){5})|([0-9]{8}[ -_][0-9]{6})"' -alias feh='feh -.' -# 'Temporary' shell in alternate mode that does not mess with the scrollback history -alias tmpshell='tput smcup && zsh && tput rmcup' +# XDG Base Directory Specification + alias wget=' + wget --config="${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc" \ + --hsts-file="${XDG_DATA_HOME:-$HOME/.local/share}/wget/wget-hsts" + ' + alias tmux='tmux -f "$HOME/.config/tmux/tmux.conf"' + alias tmsu='tmsu -D "${XDG_DATA_HOME:-$HOME/.local/share}/tmsu/db"' -## git -alias gs='git status --short' # overrides ghostscript -alias gits='gs' -alias gstat='gs' -alias gitstat='gs' -alias ga='git add' -alias gaa='git add -A' -alias gc="git commit" -alias gpsh='git push' -alias gpush='git push' -alias gpll='git pull' -alias gpull='git pull' -alias gdiff='git diff' -alias gd='git diff' -# git-commit, but put the last written commit message into the editor buffer -# for editing. -# Useful for example when the commit-msg hook fails but only slight -# modifications are needed. -alias git-commit-last-msg='() { - local gitdir="$(git rev-parse --git-dir)" || return - git commit -eF <(grep -v "^#" "$gitdir/COMMIT_EDITMSG") -}' +# Global + alias -g G='| grep' + alias -g no2='2>/dev/null' -## Navigation -alias ls='ls --color=auto --group-directories-first -p -v' -alias sl='ls' -alias la='ls -A' -alias l='ls -lh --time-style=long-iso' -alias ll='l -A' -alias cd..='cd ..' -alias cd~='cd ~' +# Git + alias gs='git status --short' + alias ga='git add' + alias gc="git commit" + alias gpush='git push' + alias gpull='git pull' + alias gd='git diff' + # Commit, but put the last written commit message into the editor buffer. + # Useful for example when the commit-msg hook fails but only slight + # modifications are needed. + alias git-commit-last-msg='() { + local gitdir="$(git rev-parse --git-dir)" || return + git commit -eF <(grep -v "^#" "$gitdir/COMMIT_EDITMSG") + }' -## Hashes for often visited folders -hash -d Desktop=$HOME/Desktop/ -hash -d Documents=$HOME/Documents/ -hash -d Pictures=$HOME/Pictures/ -hash -d Downloads=$HOME/Downloads/ -hash -d Projects=$HOME/Projects/ -hash -d dot=~Projects/github/dotfiles-github/ -hash -d dots=~dot +# Save keystrokes and my memory + alias la="${aliases[ls]:-ls} -A" + alias l="${aliases[ls]:-ls} -lh --time-style=long-iso" + alias ll="${aliases[l]} -A" + alias cd..='cd ..' + alias getclip="xclip -selection c -o" + alias setclip="perl -pe 'chomp if eof' | xclip -selection c" + alias pdf='launch evince' + alias darkpdf='launch zathura' + alias geeqie='launch qeeqie' + alias trash-restore='restore-trash' + alias rd='rmdir' + alias md='mkdir -p' + alias o='xdg-open' + alias :{q,Q}='exit' + alias update=' + sudo apt update \ + && sudo apt upgrade -y \ + && sudo apt autoremove -y -local UNI="$HOME/Documents/uni" -hash -d cheat=$HOME/Documents/Cheat\ Sheet/ -hash -d uni=$UNI/ -# hash for current/last wise -local YEAR=$(date +"%y") -if [ -d "$UNI/$YEAR-WiSe" ]; then - hash -d wise="$UNI/$YEAR-WiSe/" -elif [ -d "$UNI/$(($YEAR - 1))-WiSe" ]; then - hash -d wise="$UNI/$(($YEAR - 1))-WiSe/" -fi -# hash for current/last sose -if [ -d "$UNI/$YEAR-SoSe" ]; then - hash -d sose="$UNI/$YEAR-SoSe"/ -elif [ -d "$UNI/$(($YEAR - 1))-SoSe" ]; then - hash -d sose="$UNI/$(($YEAR - 1))-SoSe/" -fi + [ ! -e /var/run/reboot-required ] \ + || printf "\n\nSystem restart required.\n" + ' + alias pdf2t{e,}xt='pdftotext' + alias rm='printf "\033[1;031mUse trash!\n\033[0m"; false' + alias battery=' + upower -i /org/freedesktop/UPower/devices/battery_BAT0 + | grep -E "to full|percentage" + | tr -d " " + | sed "s/:/: /" + ' + alias qrdecode='zbarimg' + alias loadhist='fc -RI' + alias hex=xxd + alias bin='xxd -b -c4 | cut -d" " -f2-5' + ! command -v nvim &>/dev/null || alias vim=nvim + alias vi="${aliases[vim]:-vim}" + alias resetCursor='echo -ne "\e[5 q"' + alias makeThisScratchpad='echo -ne "\033]0;scratchpad-terminal\007"' + # grep filenames and date entries in exiftool + alias grepdate='grep -E "(={8})|([:0-9]{10} [:0-9]{8})"' + # 'Temporary' shell in alternate mode for hiding commands in scrollback. + alias tmpshell='tput smcup && zsh && tput rmcup' + +# Named directories + hash -d docs="$HOME"/Documents/ + hash -d cheat="${nameddirs[docs]}"/cheat_sheets + hash -d proj="$HOME"/Projects/ + hash -d dot{,s}="${nameddirs[proj]}"/github/dotfiles-github/ + hash -d pics="$HOME"/Pictures/ + hash -d down="$HOME"/Downloads/ + + hash -d uni="${nameddirs[docs]}"/uni + local UNI="${nameddirs[uni]}" + hash -d wise="$(printf "%s\n" "$UNI"/[0-9][0-9]-WiSe | tail -1)" + hash -d sose="$(printf "%s\n" "$UNI"/[0-9][0-9]-SoSe | tail -1)"