My zsh configuration
git clone https://github.com/m-col/zshrc
Files | Refs | Readme

-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