#!/bin/sh # vim selection command -v nvim >/dev/null 2>&1 && alias vim="nvim" vimdiff="nvim -d" vi="nvim" # verbosity alias cp="cp -iv" alias mv="mv -iv" alias rm="rm -iv" alias mkdir="mkdir -pv" # always use color when available # exa (exa) instead of ls when available if command -v eza >/dev/null 2>&1; then alias ls="eza -aH --color=automatic --group-directories-first --git" alias ll="ls -l" alias lt="ls -TL 6" else alias ls="ls -Ah --color=always --group-directories-first" alias ll="ls -l" alias lll="ls -ltr" fi alias grep="grep --color=auto" alias diff="diff --color=auto" # # git related # # base alias gs="git status" alias gf="git fetch --all --prune" # add alias ga="git add" alias gap="git -c interactive.diffFilter='git diff --color=always --word-diff' add -p" # commit alias gc="git commit" alias gca="gc --amend" alias gcane="gca --no-edit" # log alias gl="git log --graph --all" alias glol="git log --graph --decorate --pretty=oneline --abbrev-commit" alias glola="glol --all" # diff alias gd="git diff --color-words='[^[:space:]]|([[:alnum:]]|UTF_8_GUARD)+'" alias gds="gd --staged" # not really helpful # alias gd="git diff --color-words=." # dotfiles bare repository management # shellcheck disable=SC2139 alias dots="/usr/bin/git --git-dir=$HOME/.mdots/ --work-tree=$HOME"