dotfiles/.config/shell/aliases
PowerUser64 f5e15cacde BIG UPDATE: shell: add profile, move calc and mkcd to files, move
shell-independent config (aliases, functions, env vars, options) to
.config/shell/shrc, make bashrc and zshrc use the same shrc, add TTY
detection for changing caps lock to escape in a TTY, add option for
skipping plugin loading, and maybe a few other things

If this goes well, I'll be tempted to call this version 1.0.  Things
have been very stable for the last few months.  Although, since it's the
first really big change in a while, that might make it version 2.0?
Should dotfiles have big version numbers at all? Probably not.
2022-04-08 13:36:29 -07:00

132 lines
3.7 KiB
Bash

#!/bin/sh
## Short hand programs (ex: sc = shellcheck) >>>
# use nvim rather than vim if the command exists
alias \
vim='nvim' \
vimdiff='nvim -d'
alias \
vv='$EDITOR' \
e='$EDITOR' \
sedit='sudoedit' \
# I do this too much by accident smh my head
alias :q='exit' \
q='exit' \
# rmdir is long
alias \
rmd='rmdir' \
rd='rmdir' \
alias \
mkd="mkdir -p" \
g=git \
sctl='sudo systemctl' \
# <<<
## Program improvements (ex: ls = ls -h) >>>
alias sudo='sudo ' # allow using aliases in sudo commands
alias df='df -h' # Human-readable sizes
alias free='free -m' # Show sizes in MB
alias bc='bc -ql' # Make bc usable for fast math
[ -z "$VIMRUNTIME" ] &&
alias glow='glow -p' # force Glow to preview with `less` if not in vim
# I hate it when I get ghost script instead of git status. this will be removed
alias gs="echo 'you don'\''t really want ghost script, do you?'"
# tell make to use all cpu cores
alias make='make -j$(nproc)'
# Colors
alias \
ls='ls -hN --color=auto --group-directories-first' \
grep='grep --color=auto' \
egrep='egrep --color=auto' \
fgrep='fgrep --color=auto' \
diff='diff --color=auto' \
pacman='pacman --color=auto' \
# super duper paru alias
# shellcheck disable=SC2139
alias \
parue="$(which paru) --color=auto --sudoloop --newsonupgrade --pgpfetch --upgrademenu --bottomup --fm nvim" \
paru='parue --skipreview'
if command -v lsd > /dev/null; then
$IS_TTY && alias ls=lsd
alias lsd='lsd --group-dirs=first'
fi
# <<<
## Mini short-hand scripts (ex: glone = git clone) >>>
# dotfile management
alias dot='git --git-dir="$HOME/git/dotfiles" --work-tree="$HOME"'
alias d='git --git-dir="$HOME/git/dotfiles" --work-tree="$HOME"' # duplicate for auto-complete
# quicker shutdown
alias sdn='shutdown now'
# open a new session called 0, but if there is already a session called 0, connect to it
alias tm='tmux new -As0'
# List available X displays. Useful for finding what display to export when connected over ssh.
alias lsx='ls /tmp/.X11-unix | tr "X" ":"'
# Make ydotool actually usable for short things
alias ydotool='(sudo ydotoold &) && sleep 0.05 && sudo ydotool'
# Update zinit and plugins
alias zup='zinit self-update && zinit update --parallel'
# Edit config files
alias \
nvc='(cd ~/.config/nvim/lua/blake && nvim ../../init.lua)' \
zc='$EDITOR ~/.zshrc' \
sc='$EDITOR $SHELL_CONFIG_DIR/shrc' \
fstab='sudoedit /etc/fstab' \
hst='$EDITOR $HISTFILE' \
# Git cLONE
alias glone="git clone"
# Docker
alias \
logs='docker-compose logs --tail=200 -f' \
dupd='docker-compose up -d' \
ddwn='docker-compose down' \
dc='docker-compose' \
occ='docker exec -u www-data nextcloud php occ' \
# file copying with a progress bar
alias cpv="rsync -ah --info=progress2"
# lists all open ports, along with some other info
alias ls-ports='netstat -tulpn'
# list all disks and their mount points
# shellcheck disable=SC2142
alias mnt="mount | awk -F' ' '{ printf \"%s\t%s\n\",\$1,\$3; }' | column -t | grep -E '^/dev/' | sort"
# backs up list of packages
alias packback='comm -23 <(paru -Qqett | sort) <(paru -Qqg base -g base-devel | sort | uniq) > ~/pkglist.txt'
# thoroughly reset the terminal
alias rce='reset && clear && exec zsh'
# find pretty much any file, quickly
alias fds='fd --hidden --exclude /run'
# smart plug things
SMART_PLUG_IP='192.168.1.250'
alias light='tplink_smartplug.py -t $SMART_PLUG_IP -c'
# Common ls aliases
alias \
l='ls' \
la='ls -ah' \
ll='ls -lh' \
lla='ls -lah' \
# <<<
# vim:fdm=marker:fmr=>>>,<<<:fdl=1:et:ft=bash:sw=3:ts=3