dotfiles/zsh/aliases.zsh

97 lines
1.7 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"
# mkdir && cd
mkcd() {
mkdir $1 && cd $1
}
# Initialize thefuck
command -v thefuck > /dev/null 2>&1
# fuck aliases
if [ $? -eq 0 ]; then
eval $(thefuck --alias)
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