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