aliasrc 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. # adding some colors to the world
  2. alias ls='ls --color=auto'
  3. alias grep='grep --color=auto'
  4. alias ccat='highlight --out-format=ansi' # like cat, but w/ syntax highlighting
  5. alias diff='diff --color=auto'
  6. # human readable pls
  7. alias du='du -h'
  8. alias df='df -h'
  9. alias free='free -h'
  10. # basic system aliases
  11. alias p='doas pacman'
  12. alias sc='doas systemctl'
  13. alias q='exit'
  14. alias sw='Hyprland'
  15. alias ll='ls -l'
  16. alias la='ls -A'
  17. # faster directory switching
  18. alias ..='cd ..'
  19. alias ...='cd ../..'
  20. alias ....='cd ../../..'
  21. alias .....='cd ../../../..'
  22. # vim, v -> neovim
  23. alias vim='nvim'
  24. alias v='vim'
  25. # safety features
  26. alias rm='rm -i'
  27. alias cp='cp -i'
  28. alias mv='mv -i'
  29. # git aliases
  30. alias gsetkey="git config --add --local core.sshCommand \'ssh -i \$GIT_SSH_KEY\'"
  31. alias clone="git clone -c core.sshCommand='/usr/bin/ssh -i \$GIT_SSH_KEY'"
  32. alias gs='git status'
  33. alias gd='git diff'
  34. alias gr='git remote -v'
  35. alias add='git add'
  36. alias commit='git commit'
  37. alias fetch='git fetch'
  38. alias pull='git pull'
  39. alias push='git push'
  40. alias log='git log'
  41. alias remote='git remote'
  42. alias tag='git tag'
  43. alias checkout='git checkout'
  44. alias merge='git merge'
  45. alias branch='git branch'
  46. alias lsc='git log --graph --oneline --decorate --all'
  47. alias lsb="git log --graph --simplify-by-decoration --pretty=format:'%d' --all"
  48. alias lst="git log --graph --decorate --all --date=short --abbrev-commit --oneline --pretty=format:'%h%x09%an%x09%ad%x09%s'"
  49. # sane ytdl shortcuts
  50. alias yt="youtube-dl --add-metadata -i"
  51. alias yta="yt -x -f bestaudio/best/140"
  52. alias ytas='yta "$(paste | sed "s/\?.*$//")"'
  53. alias loc='find -type f | grep -v "^./.git" | xargs wc -l | sort -h'
  54. # fast dir switching
  55. s() {
  56. cd "$(ls -d ~/.local/src/* | fzf)"
  57. }
  58. b() {
  59. file="$(ls ~/.local/bin/* | fzf)"
  60. [ -n "$file" ] && "$EDITOR" "$file"
  61. }
  62. c() {
  63. pushd "$HOME/.local/src/videopc-infra" > /dev/null || exit 1
  64. file="$(find dot-config -type f | fzf)"
  65. [ -n "$file" ] &&
  66. "$EDITOR" "${file/dot-config\//${XDG_CONFIG_HOME:-$HOME/.config}/}"
  67. popd > /dev/null
  68. }
  69. # useful extended system aliases
  70. alias perm="stat -c \"%a %n\" --"
  71. installedsize() {
  72. pacman -Qi | egrep '^(Name|Installed)' | cut -f2 -d':' | sed 's/^ //' | \
  73. grep -A1 "$1" | grep -v "\-\-" | \
  74. awk '{ printf "%s%s", $0, (NR%2==1 ? FS : RS) }' | column -t
  75. }
  76. etouch() {
  77. [ -n "$1" ] && touch "$1" chmod +x "$1"
  78. }
  79. evim() {
  80. [ -n "$1" ] && touch "$1" && chmod +x "$1" && v "$1"
  81. }
  82. mkcd() {
  83. [ -n "$1" ] && mkdir "$1" && cd "$1"
  84. }