dotfiles/zsh/aliases.zsh

182 lines
3.6 KiB
Bash

# Some aliases
# v is shorter
alias v="$EDITOR"
# htop is better
alias top="htop"
# Vim like alias
alias :q="exit"
# Avoid typos
alias ake="make"
# cake is way more stylish than cmake
alias cake="cmake"
# My pdf reader
alias pdf="evince"
# clean for cmake files
alias cclean='rm -rf `find . -name "CMakeCache.txt"` `find . -name "cmake_install.cmake"` `find . -name "CMakeFiles"` `find . -name "Makefile"`'
# Some cd aliases
alias cd..="cd .."
alias cd...="cd ../.."
alias cd....="cd ../../.."
# Alias for ls
command -v exa > /dev/null 2>&1
if [ $? -eq 0 ]; then
LS_COLORS=""
alias ls="exa -h --group-directories-first"
alias lt="ls -lT"
else
alias ls="ls -h --color --group-directories-first"
fi
alias l="ls"
alias sl="ls"
alias lsd="ls"
alias la="ls -lah"
alias u="update"
alias gs="gst"
# Jump
alias j="jump"
# Disable bat paging
alias bat="bat --paging=never"
alias rg="rg -uu"
# Aliases for pass
alias p="pass"
alias pc="pass --clip"
# mkdir && cd
mkcd() {
mkdir $1 && cd $1
}
# which && cd
cdw() {
f=`which $1`
if [ $? -eq 0 ]; then
cd `dirname $f`
fi
}
# Initialize thefuck
command -v thefuck > /dev/null 2>&1
# fuck aliases
if [ $? -eq 0 ]; then
eval $(thefuck --alias)
fi
# Docker and kubernetes aliases
command -v k9s > /dev/null 2>&1
if [ $? -eq 0 ]; then
kns() {
local kube_config
if [ -z $KUBECONFIG ]; then
kube_config=$HOME/.kube/config
else
kube_config=$KUBECONFIG
fi
if [ -f $kube_config ]; then
k9s
else
echo >&2 error: $kube_config does not exist
return 1
fi
}
fi
command -v lazydocker > /dev/null 2>&1
if [ $? -eq 0 ]; then
alias ld="lazydocker"
fi
command -v docker-compose > /dev/null 2>&1
if [ $? -eq 0 ]; then
alias dc="docker-compose"
alias dcb="docker-compose build"
alias dcp="docker-compose build && docker-compose push"
alias dcu="docker-compose up -d --build --remove-orphans"
alias dcd="docker-compose down"
fi
command -v kubectl > /dev/null 2>&1
if [ $? -eq 0 ]; then
if [ -f $HOME/.kubes/current-cube ]; then
export KUBECONFIG=$(cat $HOME/.kubes/current-cube)
fi
# Sets the kube config
kube() {
local kube_config=$HOME/.kubes/$1/config
if [ $# -ne 1 ]; then
echo >&2 error: kube expects a single argument
return 1
elif [ ! -f $kube_config ]; then
echo >&2 error: no such kube config: $kube_config
return 1
else
echo $kube_config > ~/.kubes/current-cube
export KUBECONFIG=$kube_config
fi
}
# Shortcut for kubectl
kctl() {
local kube_config
if [ -z $KUBECONFIG ]; then
kube_config=$HOME/.kube/config
else
kube_config=$KUBECONFIG
fi
if [ -f $kube_config ]; then
kubectl $@
else
echo >&2 error: $kube_config does not exist
return 1
fi
}
fi
# change to git directory
cdg() {
local newdir
newdir=$(CLICOLOR_FORCE=1 pgd $1) && cd $newdir
}
_cdg() {
_arguments "1: :($( cat $GCLONE_PATH/.cdgcache | rev | cut -d '/' -f 1 | rev))"
}
cratefmt() {
local current_dir=$PWD
# Find cargo.toml
while [ ! -f Cargo.toml ] && [ $PWD != "/" ]; do
cd ..
done
if [ -f Cargo.toml ]; then
rustfmt --edition 2018 `find src -name "*.rs"`
else
echo -e "\033[1;31merror:\033[0m\033[1m can't find Cargo.toml\033[0m"
cd $current_dir
return 1
fi
cd $current_dir
}
compdef _cdg cdg