Init
This commit is contained in:
commit
846da4cb0d
|
@ -0,0 +1,366 @@
|
|||
# Alias
|
||||
|
||||
## Variables de ambiente
|
||||
|
||||
VENV=.venv
|
||||
|
||||
## Eliminación de alias previos
|
||||
|
||||
unalias -a
|
||||
|
||||
## Atajos
|
||||
|
||||
alias .1='cd ..'
|
||||
alias .2='cd ../..'
|
||||
alias .3='cd ../../..'
|
||||
alias c='cat'
|
||||
alias e='emacs -nw'
|
||||
alias g='geany'
|
||||
alias l='lsd -l'
|
||||
alias o='okular'
|
||||
alias s='scribus'
|
||||
alias t='tree'
|
||||
alias v='vim'
|
||||
alias cdd='cd ~/Descargas'
|
||||
alias cdn='cd ~/Nubes'
|
||||
alias cdr='cd ~/Repositorios'
|
||||
alias docs='cd ~/Documentos'
|
||||
alias documentos='docs'
|
||||
alias descargas='cdd'
|
||||
alias repos='cdr'
|
||||
alias nubes='cdn'
|
||||
alias cpd='docker cp'
|
||||
alias permisos='stat -c "Permiso %a | Creación %w | Modificación %y | %n" *'
|
||||
|
||||
## Atajos SSH
|
||||
|
||||
alias agroteso='ssh agroteso'
|
||||
alias aml='ssh aml'
|
||||
alias aml-stats='ssh aml "sudo docker stats -a"'
|
||||
alias cuates='ssh cuates'
|
||||
alias prolibreros='ssh prolibreros'
|
||||
alias prolibreros-tunel='ssh prolibreros -D 1234 "sudo docker stats -a" | dotacat'
|
||||
|
||||
## Personalizaciones
|
||||
|
||||
alias mv='mv -v'
|
||||
alias rm='rm -v'
|
||||
alias cp='cp -rv'
|
||||
alias df='df -h'
|
||||
alias du='du -sh'
|
||||
alias sed='sed -zr'
|
||||
alias ssh='ssh -o ServerAliveInterval=30'
|
||||
alias free='free -h'
|
||||
alias diff='diff --color'
|
||||
alias mkdir='mkdir -p'
|
||||
alias rsync='rsync -varuh --progress'
|
||||
alias perl-rename='perl-rename -v'
|
||||
alias pip='pip3'
|
||||
alias python='python3'
|
||||
alias ipython='ipython3'
|
||||
|
||||
## Acciones
|
||||
|
||||
alias buscar="grep -REin --color=always --exclude-dir={.git,.venv,.pytest_cache,__pycache__,\*egg-info}"
|
||||
alias search="buscar"
|
||||
alias rastrear='fd'
|
||||
alias trace='rastrear'
|
||||
alias rastrear-todo='find / -iname'
|
||||
alias trace-all='rastrear-todo'
|
||||
alias copiar='xclip -selection clipboard <'
|
||||
alias copy='copiar'
|
||||
alias recargar='source $HOME/.zshrc'
|
||||
alias refresh='recargar'
|
||||
alias install='instalar'
|
||||
alias uninstall='desinstalar'
|
||||
alias remove='desinstalar'
|
||||
alias update='actualizar'
|
||||
alias upgrade='actualizar'
|
||||
|
||||
## A modo de programitas
|
||||
|
||||
alias alv='rm -rf'
|
||||
alias doc2md='pandoc --markdown-headings=atx -V lang=es'
|
||||
alias mi-ip='curl https://ipapi.co/json'
|
||||
alias my-ip='mi-ip'
|
||||
alias pecas-legacy="sudo docker start pecas && sudo docker exec -it pecas /bin/zsh -l"
|
||||
alias pacman-limpiar='echo "Limpiando caché…" && sudo pacman -Scc && echo "\nEliminando paquetes huérfanos…" && sudo pacman -Rs $(pacman -Qqdt)'
|
||||
alias pacman-clean='pacman-limpiar'
|
||||
alias docker-limpiar='sudo docker system prune -a'
|
||||
alias docker-clean='docker-limpiar'
|
||||
alias añadir-fuentes='font-add'
|
||||
alias tiempo='/usr/bin/t'
|
||||
|
||||
## Lolcat :D
|
||||
|
||||
alias stats='zsh_stats | dotacat'
|
||||
alias neofetch='neofetch | dotacat'
|
||||
|
||||
## Monerías
|
||||
|
||||
alias arcoiris='journalctl --no-pager | dotacat'
|
||||
alias matrix='tmatrix --mode=dense -f 0,5 -C magenta'
|
||||
alias acuario='asciiquarium'
|
||||
alias tren='sl'
|
||||
alias fantasma='oneko &'
|
||||
|
||||
## Detecta tipo de distribución
|
||||
|
||||
distro-name () {
|
||||
DIST_NAME=$(awk -F= '/^NAME/{print $2}' /etc/os-release)
|
||||
echo $DIST_NAME | sed 's/"//g'
|
||||
}
|
||||
|
||||
## Actualizador
|
||||
|
||||
actualizar () {
|
||||
DIST=$(distro-name)
|
||||
case $1 in
|
||||
alias | aliases)
|
||||
echo "Actualizando alias"
|
||||
curl -o $HOME/.oh-my-zsh/custom/aliases.zsh \
|
||||
https://pad.programando.li/ruweb:wiki:archlinux:config:aliases/download
|
||||
recargar
|
||||
;;
|
||||
paquetes | packages)
|
||||
echo "Actualizando paquetes"
|
||||
if [[ ${DIST} = "Arch Linux" ]]; then
|
||||
sudo pacman -Syy
|
||||
sudo pacman -S archlinux-keyring
|
||||
else
|
||||
sudo apt update
|
||||
fi
|
||||
;;
|
||||
todo | sistema | all | system)
|
||||
echo "Actualizando sistema"
|
||||
if [[ ${DIST} = "Arch Linux" ]]; then
|
||||
yay -Su
|
||||
else
|
||||
sudo apt upgrade
|
||||
fi
|
||||
;;
|
||||
-h | --help | help | ayuda)
|
||||
echo "actualizar: utilidad para hacer actualizaciones.
|
||||
|
||||
Uso:
|
||||
actualizar [OPT]
|
||||
|
||||
Opciones:
|
||||
alias | aliases Actualiza alias.
|
||||
paquetes | packages Actualiza repositorio de paquetes.
|
||||
-h | --help | help | ayuda Despliega esta ayuda.
|
||||
todo | sistema | all | system Actualiza el sistema.
|
||||
vacío Actualiza el sistema con actualización previa de paquetes.
|
||||
|
||||
Ejemplos:
|
||||
actualizar alias
|
||||
actualizar paquetes
|
||||
actualizar -h
|
||||
actualizar todo
|
||||
actualizar"
|
||||
;;
|
||||
*)
|
||||
actualizar alias
|
||||
actualizar paquetes
|
||||
actualizar sistema
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
## Instalador
|
||||
|
||||
instalar (){
|
||||
DIST=$(distro-name)
|
||||
if [[ ${DIST} = "Arch Linux" ]]; then
|
||||
yay -Syy $@
|
||||
else
|
||||
sudo apt install $@
|
||||
fi
|
||||
}
|
||||
|
||||
## Desinstalador
|
||||
|
||||
desinstalar (){
|
||||
DIST=$(distro-name)
|
||||
if [[ ${DIST} = "Arch Linux" ]]; then
|
||||
yay -Rss $@
|
||||
else
|
||||
sudo apt purge $@
|
||||
sudo apt clean
|
||||
sudo apt autoremove
|
||||
fi
|
||||
}
|
||||
|
||||
## Gestión de alias
|
||||
|
||||
aliases () {
|
||||
ALIAS_FILE=~/.oh-my-zsh/custom/aliases.zsh
|
||||
case $1 in
|
||||
ver | see)
|
||||
c $ALIAS_FILE
|
||||
;;
|
||||
editar | edit)
|
||||
v $ALIAS_FILE
|
||||
;;
|
||||
-h | --help | help | ayuda)
|
||||
echo "aliases: utilidad para hacer gestionar alias.
|
||||
|
||||
Uso:
|
||||
aliases [OPT]
|
||||
|
||||
Opciones:
|
||||
ver | see Muestra contenido de archivo de alias.
|
||||
editar | edit Edita alias.
|
||||
-h | --help | help | ayuda Despliega esta ayuda.
|
||||
vacío Uso regular de 'alias'.
|
||||
|
||||
Ejemplos:
|
||||
aliases ver
|
||||
aliases editar
|
||||
aliases -h
|
||||
aliases"
|
||||
;;
|
||||
*)
|
||||
alias
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
### Un árbol que es a tree lo que lsd es a ls
|
||||
|
||||
tre () {
|
||||
DEPTH=1000
|
||||
DIR="."
|
||||
if [ -d "${@:$#}" ]; then
|
||||
DIR="${@:$#}"
|
||||
fi
|
||||
while getopts ":L:" opt; do
|
||||
case $opt in
|
||||
L) DEPTH=$OPTARG
|
||||
;;
|
||||
\?) echo "Opción inválida -$OPTARG" >&2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
lsd -l --tree --size=short --blocks=size,name --depth=$DEPTH $DIR
|
||||
}
|
||||
|
||||
## Instalador de fuentes
|
||||
|
||||
font-add () {
|
||||
FONT_DIR=$HOME/.fonts
|
||||
if [ ! -d "$FONT_DIR" ]; then
|
||||
mkdir $FONT_DIR
|
||||
fi
|
||||
cp $@ $FONT_DIR
|
||||
fc-cache -fv
|
||||
}
|
||||
|
||||
## Conversor de imágenes o documentos con ImageMagick o Pandoc
|
||||
|
||||
convertir () {
|
||||
echo "convertir FORMATO1 a FORMATO2 [con pandoc]"
|
||||
for file in *.$1; do
|
||||
echo "$file => $file.$3"
|
||||
if [ "$#" -eq 5 ]; then
|
||||
doc2md $file -o $file.$3
|
||||
else
|
||||
convert -flatten $file $file.$3
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
## Gestiona archivos MD
|
||||
|
||||
md () {
|
||||
case $1 in
|
||||
formatear | format | f)
|
||||
pandoc --reference-links --reference-location=document \
|
||||
--columns=80 -o $2 $2 ;;
|
||||
convertir | convert)
|
||||
pandoc --markdown-headings=atx --standalone \
|
||||
-V lang=es -o $4 $2 ;;
|
||||
leer | read | ver | cat | c)
|
||||
glow -w 80 -p $2 ;;
|
||||
-h | --help | help | ayuda)
|
||||
echo "
|
||||
md: utilidad para hacer gestionar archivos Markdown.
|
||||
|
||||
Uso:
|
||||
md [OPT]
|
||||
|
||||
Opciones:
|
||||
formatear | format Da formato al archivo.
|
||||
convertir | convert Convierte el archivo.
|
||||
leer | read | ver | cat Muestra el archivo.
|
||||
-h | --help | help | ayuda Despliega esta ayuda.
|
||||
|
||||
Ejemplos:
|
||||
md formatear archivo.md
|
||||
md convertir archivo.md a archivo.html
|
||||
md ayuda
|
||||
" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
## Desactiva o activa virtualenv
|
||||
|
||||
check_venv () {
|
||||
VENV_ACT=$VENV/bin/activate
|
||||
type deactivate &>/dev/null && deactivate
|
||||
if [ -f "$VENV_ACT" ]; then
|
||||
source $VENV_ACT
|
||||
fi
|
||||
}
|
||||
|
||||
check_venv # Ejecuta cuando se carga
|
||||
|
||||
## Agrega y arranca virtualenv
|
||||
|
||||
venv () {
|
||||
virtualenv $VENV
|
||||
check_venv
|
||||
}
|
||||
|
||||
## Modifica comportamiento de cd
|
||||
|
||||
cd () {
|
||||
builtin cd $1
|
||||
check_venv
|
||||
}
|
||||
|
||||
## Embellece y verifica código
|
||||
|
||||
pymp () {
|
||||
FORMAT=false
|
||||
CHECK=true
|
||||
case $1 in
|
||||
-f | formatear | format)
|
||||
black --line-length 80 ${@:$#} ;;
|
||||
-h | --help | help | ayuda)
|
||||
CHECK=false
|
||||
echo "
|
||||
pymp: utilidad para enchular código de Python.
|
||||
|
||||
Uso:
|
||||
pymp [OPT] [FILE|DIR]
|
||||
|
||||
Opciones:
|
||||
-f | formatear | format Da formato a los archivos.
|
||||
-h | --help | help | ayuda Despliega esta ayuda.
|
||||
|
||||
Ejemplos:
|
||||
pymp archivo.py
|
||||
pymp formatear .
|
||||
pymp ayuda
|
||||
" ;;
|
||||
esac
|
||||
if [ ! -d "${@:$#}" ] && [ ! -f "${@:$#}" ]; then
|
||||
echo "ERROR: último argumento debe ser un fichero, ¿lo escribiste correctamente?"
|
||||
return 1
|
||||
fi
|
||||
if [ "$CHECK" = true ]; then
|
||||
flake8 --max-line-length 80 ${@:$#}
|
||||
vulture ${@:$#}
|
||||
fi
|
||||
}
|
Loading…
Reference in New Issue