-rw-r--r-- aliases
1 # 2 # General aliases go here 3 # Machine-specific aliases go in $HOME/.config/aliases 4 # 5 # 6 alias uv-debug-setup="uv pip install ptpython pudb" 7 8 # misc 9 alias ..='cd ../' 10 alias ...='cd ../../' 11 alias l='ls -lhFv' 12 alias lc='ls -c1' 13 alias tmp='cd /tmp; l' 14 alias gtmp='cd `mktemp -d`' 15 alias _='sudo' 16 alias p='ps aux | grep -v grep | grep -i' 17 alias import='echo you forgot to enter python' 18 alias pth='echo "${PATH//:/\n}"' 19 vgr() { nvim `grep -lri "$@"`; } 20 alias va="source venv/bin/activate" 21 alias vd="deactivate" 22 alias dc=docker-compose 23 alias vim=nvim 24 alias fv="fzf --print0 | xargs -0 -o nvim" 25 alias cat=bat 26 alias vi=vim 27 alias t="vim ~/tasks.rst" 28 29 if [[ -n "$WAYLAND_DISPLAY" ]] 30 then 31 alias copy='wl-copy' 32 elif [[ -n "$DISPLAY" ]] 33 then 34 alias copy='xclip -selection clipboard' 35 elif [[ "$OSTYPE" == "darwin"* ]] 36 then 37 alias copy=pbcopy 38 fi 39 40 alias grep='grep --exclude-dir=__pycache__ --exclude-dir=.terraform --exclude-dir=.git --exclude-dir=.venv --exclude-dir=.tox --exclude=tags --exclude-dir=.eggs --exclude-dir=.mypy_cache' 41 42 # systemd 43 alias sc='systemctl' 44 alias scs='systemctl status' 45 alias scsta='systemctl start' 46 alias scsto='systemctl stop' 47 alias scr='systemctl restart' 48 alias sce='systemctl enable' 49 alias scen='systemctl enable --now' 50 alias scd='systemctl disable' 51 alias scdr='systemctl daemon-reload' 52 53 alias ssc='sudo systemctl' 54 alias sscs='sudo systemctl status' 55 alias sscsta='sudo systemctl start' 56 alias sscsto='sudo systemctl stop' 57 alias sscr='sudo systemctl restart' 58 alias ssce='sudo systemctl enable' 59 alias sscen='sudo systemctl enable --now' 60 alias sscd='sudo systemctl disable' 61 alias sscdr='sudo systemctl daemon-reload' 62 63 # networking 64 alias ip='ip -c' 65 alias dns='cat /etc/resolv.conf' 66 alias wnet='sudo netstat -nputw' 67 alias wnetl='sudo netstat -nputlw' 68 alias scrn='sudo systemctl restart NetworkManager' 69 70 # launchers 71 alias ra='ranger' 72 alias v='nvim' 73 alias tmux='tmux -u' 74 alias ta='tmux attach' 75 76 # git 77 alias g='gita' 78 alias gs='git status' 79 alias ad='git add' 80 alias adp='git add --patch' 81 alias adn='git add -A -N' 82 alias co='git commit' 83 alias cm='git commit -m' 84 alias ca='git commit --amend' 85 alias cmf='git commit --fixup' 86 alias psh='git push' 87 alias pshs='git push &> /dev/null &|' 88 alias fe='git fetch && git status' 89 alias pl='git pull' 90 rb() { 91 if git branch | /usr/bin/grep -qw main 92 then 93 git pull --rebase origin main 94 else 95 git pull --rebase origin master 96 fi 97 } 98 alias rbi='git rebase -i' 99 alias rbc='git rebase --continue' 100 alias rba='git rebase --abort' 101 rbh() { git rebase -i HEAD~$1; } 102 alias br='git branch -v' 103 alias ch='git checkout' 104 alias dif='git diff' 105 #alias diff='git diff --' 106 alias dic='git diff --cached' 107 alias cl='git clone' 108 alias chp='git cherry-pick' 109 alias rs='git restore' 110 alias rsp='git restore --patch' 111 alias rss='git restore --staged' 112 alias rssp='git restore --staged --patch' 113 alias st='git stash' 114 alias stl='git stash list' 115 alias stp='git stash pop' 116 alias cg='cd "$(git rev-parse --show-cdup)"' 117 pr() { git fetch upstream pull/$1/head:$1 && git checkout $1; } 118 lg() { git log -${1:-1}; } 119 lgo() { git log --oneline -${1:-1}; } 120 alias lgc="git log -1 | head -1 | awk '{print \$2}' | copy -n" 121 #newbr() { 122 # branches=$(br | wc -l) 123 # if (( branches != 2 )) 124 # then 125 # echo "$branches branches, can't continue" 126 # return 0 127 # fi 128 # new_name="$1" 129 # if [[ -z "$new_name" ]] 130 # then 131 # echo "no name given, pass in a name" 132 # return 0 133 # fi 134 # ch main 135 # br -D $(git branch --format='%(refname:short)' | grep -v main) 136 # pl 137 # ch -b matt/$new_name 138 # echo 139 # br 140 # echo 141 # gs 142 #} 143 #nobr() { 144 # branches=$(br | wc -l) 145 # if (( branches == 1 )) 146 # then 147 # return 0 148 # fi 149 # ch main 150 # br -D $(git branch --format='%(refname:short)' | grep -v main) 151 # pl 152 # gs 153 #} 154 155 156 pdif() { 157 git diff --name-only --diff-filter=${1:-M} 158 } 159 alias vimd='nvim `pdif`' 160 tagans() { 161 git log --pretty=format:"%an" $1...$2 | sort -u 162 } 163 get_git_dirty() { 164 git status --porcelain | awk 'match($1, "M"){print $2}' | grep -E "\.tsx$|\.ts$" 165 } 166 prs() { 167 (echo -e "REPO\tNUMBER\tTITLE\tURL" && \ 168 gh search prs --author=@me --owner=edra-org --state=open \ 169 --json number,title,repository,url \ 170 --jq '.[] | [.repository.name, "#\(.number)", .title, .url] | @tsv') \ 171 | column -t -s $'\t' 172 } 173 pshpr() { 174 psh && gh pr create --fill | tail -n 1 | xargs open 175 } 176 alias cmx='cm fix' 177 alias cmxp='cm fix && psh' 178 179 vin() { vim "$@" } 180 _vin_git_modified() { 181 local repo_root files file rel 182 repo_root=$(git rev-parse --show-toplevel 2>/dev/null) || return 183 files=(${(f)"$(git status --porcelain --untracked-files=no 2>/dev/null | awk '/^ M/{print $2}')"}) 184 for i in {1..$#files}; do 185 file="$repo_root/${files[$i]}" 186 rel=${file:#$PWD/} 187 files[$i]="${rel#$PWD/}" 188 done 189 compadd -U -a files 190 } 191 compdef _vin_git_modified vin 192 193 194 195 196 # tools 197 alias usync='rsync -avPzh --delete' 198 alias psb='python setup.py -q build' 199 alias psi='python setup.py -q install' 200 alias psiu='python setup.py -q install --user' 201 alias m=make 202 alias j=just 203 alias mc='make clean' 204 alias vimrc='nvim ~/.vim/pack/vim-misc/start/self/plugin/settings.vim' 205 check() { pytest -xs --pdbcls pudb.debugger:Debugger $@; } 206 207 # quick edits 208 alias modalia='nvim $HOME/.config/aliases && source $HOME/.config/aliases' 209 alias modaliaz='nvim $ZSH/aliases && source $ZSH/aliases' 210 alias zshrc='nvim $HOME/.zsh/zshrc' 211 alias modrc='nvim $HOME/.config/ranger/rc.conf' 212 213 # shortcuts 214 alias gc='cd $HOME/.config' 215 alias gd='cd $HOME/documents' 216 alias gD='cd $HOME/downloads' 217 alias gde='cd $HOME/desktop' 218 alias gg='cd $HOME/git; l' 219 alias gb='cd $HOME/.config/bin' 220 alias ge='cd /etc' 221 alias gv='cd $HOME/.vim/pack/vim-misc' 222 alias gz='cd $HOME/.zsh; l' 223 alias gR='cd $HOME/reach' 224 225 alias cb='cargo build --' 226 alias cf='cargo fmt' 227 alias cf='cargo run' 228