# utils.zsh # Replacements for coreutils, color and reasonable defaults for common tools, etc. function has () { command -v "$@" &> /dev/null } # cat if has bat; then alias cat='bat --plain --paging=never' fi # should consider another alias for --show-all (and --number on base cat) but it's not a good default # diff alias diff='diff --color' # grep grep_opts="--color=auto --exclude-dir=.git" alias grep="grep $grep_opts" alias egrep="egrep $grep_opts" alias fgrep="fgrep $grep_opts" unset grep_opts # ls if has eza; then alias ls='eza' alias ll='eza --long --header --all' elif ls --color &> /dev/null; then alias ls='ls --color=auto' alias ll='ls -l --almost-all --no-group --human-readable' else # bsd/mac ls export CLICOLOR='1' alias ll='ls -hoA' fi # tree if has tree; then alias tree='tree -C' fi # mkdir alias mkdir='mkdir -p' # dd alias dd="dd status=progress oflag=direct,sync" ## df alias df="df -TH --exclude-type=tmpfs --exclude-type=devtmpfs --exclude-type=squashfs" # gpg if has gpg2; then alias gpg='gpg2' fi # cygwin-specific if [[ "$OSTYPE" == 'cygwin' ]]; then alias sudo='cygstart --action=runas' fi unfunction has