-
Notifications
You must be signed in to change notification settings - Fork 0
/
.zsh_aliases
120 lines (99 loc) · 11.2 KB
/
.zsh_aliases
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Common shortcuts
alias reload="source ~/.zshrc"
alias _="sudo -E"
alias dnf="sudo dnf"
alias rr="rm -rf"
# Git
alias gpo="git push origin"
alias gcr="git clone --recurse-submodules"
alias gsu="git submodule update --init"
alias grhh="git reset HEAD --hard"
# Kubernetiks
alias k='kubectl'
alias kg='kubectl get'
alias kgpod='kubectl get pod'
alias kdp='kubectl describe pod'
alias kap='kubectl apply'
alias krm='kubectl delete'
alias krmf='kubectl delete -f'
alias klf='kubectl logs -f'
alias kei='kubectl exec -i -t'
function kgdp() { kg pods | grep "Running" | sed 's/ .*//' | grep $1 }
function ktail() { klf $(kgdp $1 | head -n $2 | tail -n 1)}
function kssh() { kei $(kgdp $1 | head -n $2 | tail -n 1) -- bash}
# Docker
function dssh() {
if [ "$2" = "" ]; then
2="/bin/sh"
fi
docker exec -it $(docker ps | grep $1 | sed 's/ .*//') sh -c "$2"
}
# Video Manipulation
ffs() {
i1="$1"
i2="$2"
s1="$(basename $i1 .${i1:e})"
s2="$(basename $i2 .${i2:e})"
parent_dir="$(dirname $i1)"
output_file="${parent_dir}/__sbs_${s1}_${s2}.${i1:e}"
ffmpeg -y -i $1 -i $2 -filter_complex "$3" -map "0:a" -map "[out]" -crf 3 -pix_fmt yuv420p -shortest "$output_file"
}
# Child functions with filter complex string as parameter
ffsh() {
ffs "$1" "$2" "[0:v][1:v]hstack=inputs=2:shortest=1[out]"
}
ffsv() {
ffs "$1" "$2" "[0:v][1:v]vstack=inputs=2:shortest=1[out]"
}
ffsingle(){
i1="$1"
s1="$(basename $i1 .${i1:e})"
parent_dir="$(dirname $i1)"
output_file="${parent_dir}/_${s1}.${i1:e}"
ffmpeg -y -i $1 -filter_complex "$2" -crf 3 -pix_fmt yuv420p "$output_file"
}
ffdn() {
ffsingle "$1" "[0:v]scale=iw/2:ih/2:force_original_aspect_ratio=decrease,pad=ceil(iw/2)*2:ceil(ih/2)*2"
}
ffloop() {
ffsingle "$1" "[0:v]split=2[first][second];[second]reverse[revsecond];[first][revsecond]concat=n=2:v=1:a=0"
}
ffconcat () {
input_dir="$1"
output_file="${input_dir:r}_concat.mp4"
ffmpeg -f concat -safe 0 -i <(for f in *.mp4; do echo "file '$input_dir'"; done) -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p "$output_file"
}
# Directory listing
# Colors courtesy https://github.com/sharkdp/vivid
export LS_COLORS='or=0;38;2;0;0;0;48;2;255;92;87:fi=0:so=0;38;2;0;0;0;48;2;255;106;193:st=0:*~=0;38;2;102;102;102:cd=0;38;2;255;106;193;48;2;51;51;51:bd=0;38;2;154;237;254;48;2;51;51;51:di=0;38;2;87;199;255:no=0:ow=0:ex=1;38;2;255;92;87:mi=0;38;2;0;0;0;48;2;255;92;87:pi=0;38;2;0;0;0;48;2;87;199;255:tw=0:ln=0;38;2;255;106;193:*.d=0;38;2;90;247;142:*.p=0;38;2;90;247;142:*.h=0;38;2;90;247;142:*.o=0;38;2;102;102;102:*.a=1;38;2;255;92;87:*.t=0;38;2;90;247;142:*.r=0;38;2;90;247;142:*.c=0;38;2;90;247;142:*.m=0;38;2;90;247;142:*.z=4;38;2;154;237;254:*.cr=0;38;2;90;247;142:*.as=0;38;2;90;247;142:*.hs=0;38;2;90;247;142:*.py=0;38;2;90;247;142:*.so=1;38;2;255;92;87:*.ps=0;38;2;255;92;87:*.hi=0;38;2;102;102;102:*css=0;38;2;90;247;142:*.ex=0;38;2;90;247;142:*.js=0;38;2;90;247;142:*.td=0;38;2;90;247;142:*.rb=0;38;2;90;247;142:*.cp=0;38;2;90;247;142:*.rm=0;38;2;255;180;223:*.sh=0;38;2;90;247;142:*.7z=4;38;2;154;237;254:*.cc=0;38;2;90;247;142:*.nb=0;38;2;90;247;142:*.kt=0;38;2;90;247;142:*.bz=4;38;2;154;237;254:*.ml=0;38;2;90;247;142:*.go=0;38;2;90;247;142:*.bc=0;38;2;102;102;102:*.pm=0;38;2;90;247;142:*.pp=0;38;2;90;247;142:*.ts=0;38;2;90;247;142:*.cs=0;38;2;90;247;142:*.pl=0;38;2;90;247;142:*.ko=1;38;2;255;92;87:*.di=0;38;2;90;247;142:*.lo=0;38;2;102;102;102:*.fs=0;38;2;90;247;142:*.mn=0;38;2;90;247;142:*.vb=0;38;2;90;247;142:*.ll=0;38;2;90;247;142:*.hh=0;38;2;90;247;142:*.md=0;38;2;243;249;157:*.el=0;38;2;90;247;142:*.gv=0;38;2;90;247;142:*.rs=0;38;2;90;247;142:*.gz=4;38;2;154;237;254:*.xz=4;38;2;154;237;254:*.jl=0;38;2;90;247;142:*.la=0;38;2;102;102;102:*.ui=0;38;2;243;249;157:*.avi=0;38;2;255;180;223:*.erl=0;38;2;90;247;142:*.ipp=0;38;2;90;247;142:*.rar=4;38;2;154;237;254:*.gif=0;38;2;255;180;223:*.fsx=0;38;2;90;247;142:*.jar=4;38;2;154;237;254:*.dot=0;38;2;90;247;142:*.exs=0;38;2;90;247;142:*.xcf=0;38;2;255;180;223:*.dpr=0;38;2;90;247;142:*.hxx=0;38;2;90;247;142:*.ilg=0;38;2;102;102;102:*.tml=0;38;2;243;249;157:*.bsh=0;38;2;90;247;142:*.bat=1;38;2;255;92;87:*.nix=0;38;2;243;249;157:*.pdf=0;38;2;255;92;87:*.swp=0;38;2;102;102;102:*.sty=0;38;2;102;102;102:*.xmp=0;38;2;243;249;157:*.awk=0;38;2;90;247;142:*.ogg=0;38;2;255;180;223:*.csv=0;38;2;243;249;157:*.pps=0;38;2;255;92;87:*.dll=1;38;2;255;92;87:*.htc=0;38;2;90;247;142:*.php=0;38;2;90;247;142:*.m4v=0;38;2;255;180;223:*.pkg=4;38;2;154;237;254:*.ttf=0;38;2;255;180;223:*.tmp=0;38;2;102;102;102:*.m4a=0;38;2;255;180;223:*.xls=0;38;2;255;92;87:*.txt=0;38;2;243;249;157:*.tex=0;38;2;90;247;142:*.vim=0;38;2;90;247;142:*.inc=0;38;2;90;247;142:*.iso=4;38;2;154;237;254:*.ind=0;38;2;102;102;102:*.ppt=0;38;2;255;92;87:*.mkv=0;38;2;255;180;223:*.tar=4;38;2;154;237;254:*.tsx=0;38;2;90;247;142:*.pyc=0;38;2;102;102;102:*.ico=0;38;2;255;180;223:*.img=4;38;2;154;237;254:*.blg=0;38;2;102;102;102:*.fls=0;38;2;102;102;102:*.tif=0;38;2;255;180;223:*.asa=0;38;2;90;247;142:*.sxi=0;38;2;255;92;87:*.apk=4;38;2;154;237;254:*.xml=0;38;2;243;249;157:*.png=0;38;2;255;180;223:*.jpg=0;38;2;255;180;223:*.sxw=0;38;2;255;92;87:*.rtf=0;38;2;255;92;87:*.mir=0;38;2;90;247;142:*hgrc=0;38;2;165;255;195:*.zip=4;38;2;154;237;254:*.bib=0;38;2;243;249;157:*.epp=0;38;2;90;247;142:*.bz2=4;38;2;154;237;254:*.psd=0;38;2;255;180;223:*.svg=0;38;2;255;180;223:*.mp3=0;38;2;255;180;223:*.ics=0;38;2;255;92;87:*.clj=0;38;2;90;247;142:*.csx=0;38;2;90;247;142:*.mli=0;38;2;90;247;142:*.mp4=0;38;2;255;180;223:*.ini=0;38;2;243;249;157:*.bst=0;38;2;243;249;157:*.rst=0;38;2;243;249;157:*.kts=0;38;2;90;247;142:*.sbt=0;38;2;90;247;142:*.inl=0;38;2;90;247;142:*.vob=0;38;2;255;180;223:*.swf=0;38;2;255;180;223:*.htm=0;38;2;243;249;157:*.pid=0;38;2;102;102;102:*.dmg=4;38;2;154;237;254:*.xlr=0;38;2;255;92;87:*.wmv=0;38;2;255;180;223:*.doc=0;38;2;255;92;87:*.rpm=4;38;2;154;237;254:*.cfg=0;38;2;243;249;157:*.ltx=0;38;2;90;247;142:*.mov=0;38;2;255;180;223:*.aux=0;38;2;102;102;102:*.out=0;38;2;102;102;102:*.mpg=0;38;2;255;180;223:*.exe=1;38;2;255;92;87:*.wav=0;38;2;255;180;223:*.c++=0;38;2;90;247;142:*.fsi=0;38;2;90;247;142:*.com=1;38;2;255;92;87:*.hpp=0;38;2;90;247;142:*.cpp=0;38;2;90;247;142:*.bag=4;38;2;154;237;254:*.zsh=0;38;2;90;247;142:*.ods=0;38;2;255;92;87:*.toc=0;38;2;102;102;102:*.fon=0;38;2;255;180;223:*.fnt=0;38;2;255;180;223:*.sql=0;38;2;90;247;142:*.bak=0;38;2;102;102;102:*.elm=0;38;2;90;247;142:*.pas=0;38;2;90;247;142:*.tbz=4;38;2;154;237;254:*.bcf=0;38;2;102;102;102:*.odp=0;38;2;255;92;87:*.dox=0;38;2;165;255;195:*.log=0;38;2;102;102;102:*.arj=4;38;2;154;237;254:*.cxx=0;38;2;90;247;142:*.wma=0;38;2;255;180;223:*.idx=0;38;2;102;102;102:*.pgm=0;38;2;255;180;223:*.tcl=0;38;2;90;247;142:*.h++=0;38;2;90;247;142:*.bin=4;38;2;154;237;254:*.deb=4;38;2;154;237;254:*.flv=0;38;2;255;180;223:*.git=0;38;2;102;102;102:*.mid=0;38;2;255;180;223:*.def=0;38;2;90;247;142:*.lua=0;38;2;90;247;142:*.pro=0;38;2;165;255;195:*.cgi=0;38;2;90;247;142:*.ps1=0;38;2;90;247;142:*.gvy=0;38;2;90;247;142:*.ppm=0;38;2;255;180;223:*.kex=0;38;2;255;92;87:*.tgz=4;38;2;154;237;254:*.otf=0;38;2;255;180;223:*.bmp=0;38;2;255;180;223:*.bbl=0;38;2;102;102;102:*.aif=0;38;2;255;180;223:*.pbm=0;38;2;255;180;223:*.eps=0;38;2;255;180;223:*.odt=0;38;2;255;92;87:*.vcd=4;38;2;154;237;254:*.pod=0;38;2;90;247;142:*.yml=0;38;2;243;249;157:*TODO=1:*.epub=0;38;2;255;92;87:*.orig=0;38;2;102;102;102:*.h264=0;38;2;255;180;223:*.purs=0;38;2;90;247;142:*.mpeg=0;38;2;255;180;223:*.tiff=0;38;2;255;180;223:*.conf=0;38;2;243;249;157:*.html=0;38;2;243;249;157:*.psm1=0;38;2;90;247;142:*.pptx=0;38;2;255;92;87:*.dart=0;38;2;90;247;142:*.jpeg=0;38;2;255;180;223:*.tbz2=4;38;2;154;237;254:*.java=0;38;2;90;247;142:*.json=0;38;2;243;249;157:*.docx=0;38;2;255;92;87:*.xlsx=0;38;2;255;92;87:*.bash=0;38;2;90;247;142:*.yaml=0;38;2;243;249;157:*.lisp=0;38;2;90;247;142:*.flac=0;38;2;255;180;223:*.toml=0;38;2;243;249;157:*.less=0;38;2;90;247;142:*.fish=0;38;2;90;247;142:*.hgrc=0;38;2;165;255;195:*.make=0;38;2;165;255;195:*.lock=0;38;2;102;102;102:*.rlib=0;38;2;102;102;102:*.diff=0;38;2;90;247;142:*.psd1=0;38;2;90;247;142:*.xhtml=0;38;2;243;249;157:*.patch=0;38;2;90;247;142:*.class=0;38;2;102;102;102:*.scala=0;38;2;90;247;142:*.cache=0;38;2;102;102;102:*.cabal=0;38;2;90;247;142:*.shtml=0;38;2;243;249;157:*shadow=0;38;2;243;249;157:*.ipynb=0;38;2;90;247;142:*.dyn_o=0;38;2;102;102;102:*.toast=4;38;2;154;237;254:*README=0;38;2;40;42;54;48;2;243;249;157:*.cmake=0;38;2;165;255;195:*.mdown=0;38;2;243;249;157:*passwd=0;38;2;243;249;157:*.swift=0;38;2;90;247;142:*.ignore=0;38;2;165;255;195:*.config=0;38;2;243;249;157:*.groovy=0;38;2;90;247;142:*.gradle=0;38;2;90;247;142:*INSTALL=0;38;2;40;42;54;48;2;243;249;157:*TODO.md=1:*.matlab=0;38;2;90;247;142:*.flake8=0;38;2;165;255;195:*LICENSE=0;38;2;153;153;153:*.dyn_hi=0;38;2;102;102;102:*COPYING=0;38;2;153;153;153:*.desktop=0;38;2;243;249;157:*.gemspec=0;38;2;165;255;195:*TODO.txt=1:*setup.py=0;38;2;165;255;195:*Doxyfile=0;38;2;165;255;195:*Makefile=0;38;2;165;255;195:*.fdignore=0;38;2;165;255;195:*COPYRIGHT=0;38;2;153;153;153:*.rgignore=0;38;2;165;255;195:*.cmake.in=0;38;2;165;255;195:*.kdevelop=0;38;2;165;255;195:*.DS_Store=0;38;2;102;102;102:*.markdown=0;38;2;243;249;157:*configure=0;38;2;165;255;195:*README.md=0;38;2;40;42;54;48;2;243;249;157:*.gitconfig=0;38;2;165;255;195:*.gitignore=0;38;2;165;255;195:*SConstruct=0;38;2;165;255;195:*README.txt=0;38;2;40;42;54;48;2;243;249;157:*.localized=0;38;2;102;102;102:*INSTALL.md=0;38;2;40;42;54;48;2;243;249;157:*SConscript=0;38;2;165;255;195:*CODEOWNERS=0;38;2;165;255;195:*Dockerfile=0;38;2;243;249;157:*.scons_opt=0;38;2;102;102;102:*Makefile.in=0;38;2;102;102;102:*.synctex.gz=0;38;2;102;102;102:*MANIFEST.in=0;38;2;165;255;195:*.gitmodules=0;38;2;165;255;195:*Makefile.am=0;38;2;165;255;195:*LICENSE-MIT=0;38;2;153;153;153:*INSTALL.txt=0;38;2;40;42;54;48;2;243;249;157:*.travis.yml=0;38;2;90;247;142:*appveyor.yml=0;38;2;90;247;142:*.fdb_latexmk=0;38;2;102;102;102:*configure.ac=0;38;2;165;255;195:*CONTRIBUTORS=0;38;2;40;42;54;48;2;243;249;157:*.applescript=0;38;2;90;247;142:*.clang-format=0;38;2;165;255;195:*.gitattributes=0;38;2;165;255;195:*CMakeLists.txt=0;38;2;165;255;195:*LICENSE-APACHE=0;38;2;153;153;153:*CMakeCache.txt=0;38;2;102;102;102:*CONTRIBUTORS.md=0;38;2;40;42;54;48;2;243;249;157:*requirements.txt=0;38;2;165;255;195:*CONTRIBUTORS.txt=0;38;2;40;42;54;48;2;243;249;157:*.sconsign.dblite=0;38;2;102;102;102:*package-lock.json=0;38;2;102;102;102:*.CFUserTextEncoding=0;38;2;102;102;102'
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
alias lsd="ls -lF | grep --color=never '^d'"
# Directory traversal
if [[ "$OSTYPE" == "darwin"* ]]; then
alias ls="gls -AGh --color --group-directories-first"
else
alias ls="ls -AGh --color --group-directories-first"
fi
[ -z ${cd+x} ] || cd_cmd=cd
function cs () {
$cd_cmd $1
ls -AGhl --color --group-directories-first
}
alias cd=cs
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias ~="cd ~"
# Always enable colored `grep` output
# Note: `GREP_OPTIONS="--color=auto"` is deprecated, hence the alias usage.
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias gerp='grep --color=auto'
alias grp='grep --color=auto'
# IP addresses
alias ip="curl ipinfo.io/ip"
alias ipl="hostname -I"
# Prevent ZSH from throwing autocorrect for weird-looking Sass commands
alias sass='nocorrect sass'
alias nano="/usr/local/bin/nano"