Enchulame la terminal - Mac
2020-05-03
tutorial
bash
terminal
Como usuario de Mac OS, disfruto trabajar con la terminal y me parece una herramienta especialmente poderosa. Por lo tanto, pasé bastante tiempo personalizándolo y aquí está mi guía definitiva para la personalización de terminales.Alt TextPrimero pensé que solo crearía una publicación corta con algunos de los ajustes que me gustan. Pero tenía tantas cosas que quería mostrar que esto comenzó a convertirse en una publicación considerablemente larga. Así que he decidido publicarlo ahora, con tantos consejos como pueda escribir, y lo actualizaré con nuevos consejos y trucos.Mi terminalInstalaciones recomendadasiTerm2Nerd fonts - Hack Boldzshzsh extensions:autosuggestionssyntax-highlightingPowerlevel10klsd: The next gen ls commandccat: Colorizing catlolcatNeofetch: A command-line system information tool written in bash 3.2+Comencemos entonces a configurar todas las herramientas que vamos a necesitar.PrerrequsitosEn primer lugar, debe instalar iTerm2.Luego instalar brew.Ahora instale oh-my-zsh, abra iTerm2 y pegue el siguiente comando:sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"Luego de tener este par de cosas instaladas entremos mas en materia.Fuentes parcheadasQuiero comenzar a hablar sobre las fuentes parcheadas, ya que muchas de las personalizaciones que explicaré más adelante pueden depender de ellas. Las fuentes parcheadas consisten en fuentes regulares a las que se han agregado algunos símbolos adicionales. De esa manera, puede mostrar iconos especiales (como el icono de su sistema operativo) o agregar nuevas formas a tu prompt.El proyecto más exitoso es nerd-fonts, que incluye muchas de las fuentes más utilizadas y favorita de este proyecto es Hack BoldNerd fontsNerd Fonts es un proyecto que parchea fuentes dirigidas por desarrolladores con una gran cantidad de glifos (iconos). Específicamente para agregar una gran cantidad de glifos adicionales de 'fuentes icónicas' populares como Font Awesome, Devicons, Octicons y otras.Nerd fontsEntonces para instalar estas fuentes en tu Mac OS puedes usar brew:brew tap homebrew/cask-fonts
brew cask install font-hack-nerd-fontHe visto que algunas veces no instala las fuentes con cask, aqui hay otra opcion:brew install --cask font-hack-nerd-fontAhora, si busca en la carpeta en la que acaba de instalarlo, verá que aparece allí. ls ~/Library/FontsConfigura tu terminalUna vez que haya descargado Nerd Fonts, puede configurar su terminal para usarlo. Configure iTerm2 para usar la fuente yendo a:iTerm2 -> Preferences -> Profiles -> Text -> Font -> Change FontSeleccione la fuente Hack Regular Nerd Font y ajuste el tamaño si lo desea. También marque la casilla Usar una fuente diferente para texto que no sea ASCII y seleccione la fuente nuevamente. Debería mostrar la nueva fuente e iconos en la solicitud.iTerm2 Text nerd fontsNo te preocupes si no vez un cambio significativo en tu terminal, esto nos va a dar la partida para los siguientes pasos.Colorear el terminalEn el camino hacia la terminal definitiva, no hay nada que mejore su aspecto más que personalizar su esquema de color, por lo que este será nuestro punto de partida. Al buscar en Internet, podrá encontrar muchos temas, pero la forma más fácil de aplicarlos es usar GoghEsta herramienta no requiere instalación y le permite elegir sus colores favoritos de una larga lista de diferentes esquemas preconstruidos.Simplemente copie y pegue el comando: bash -c "$(curl -sLo- https://git.io/vQgMr)"Luego de seleccionar algun tema, este se instalara y estará disponible para seleccionarlo en tu terminal.iTerm2 -> Preferences -> Profiles -> Colors -> Color PresetsLSD, LOLcat y ccatAlgunas de las siguientes herramientas para lograr que se vean mejor necesita que tu iterm2 tenga un contraste minimo.lsd está muy inspirado en el proyecto de súper colores pero con algunas pequeñas diferencias. Por ejemplo, está escrito en RUST y no en ruby, lo que lo hace mucho más rápido.LSDEs necesario instalar las fuentes parcheadas de powerline nerd-font y/o font-awesome.Para instalar LSD solo debes usar brew y ejecutar esta linea en tu terminal:brew install lsdlolcat 🤣️ ¡Obtiene arcoiris y unicornios en todas partes! Esta herramienta aparece comúnmente utilizada junto con Neofetch, agregando un efecto de arco iris impresionante a tu prompt.LOLcatPara instalar LOLcat solo debes usar brew y ejecutar esta linea en tu terminal:brew install lolcatPara verificar que te instalo y funciona correctamente puedes correr en la terminalls | lolcatccat
Es el cat colorante. Funciona de manera similar a cat pero muestra contenido con resaltado de sintaxis.asciicastPara instalar ccat solo debes usar brew y ejecutar esta linea en tu terminal:brew install ccatPersonalizar el bash promptEn caso de que haya instalado una fuente parcheada como se describió anteriormente, ahora podrá usar cualquier tipo de símbolos para construir su prompt. Estas fuentes incluyen muchos símbolos powerline que le permitiran personalizar completamente su terminal sin tener que instalar ningún complemento externo.Powerlevel10kEs una rápida reimplementación de POWERLEVEL9K con incluso algunas características adicionales. Incluso mantiene los mismos nombres de variables, por lo que no necesitará cambiar su configuración si viene de POWERLEVEL9k.Una cosa que me encanta de POWERLEVEL10K es que, si aún no tiene configuración, cuando la inicie por primera vez, le mostrará una guía que le preguntará sus preferencias. Durante este proceso, muestra varios ejemplos, por lo que es mucho más fácil de personalizar.Powerlevel10kPara instalarlo en Mac tenemos dos caminos, el primero puede ser usando brew o el segundo que sera el que usaremos es con Oh My Zsh, pega la siguente linea en tu terminal.git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10kAhora deberas indicarle a zsh cual sera el tema a usar, para eso edita el archivo ~/.zshrc, puedes usar cualquier editor de tu preferencia y buscar la propiedad del tema y cambiarlo por ZSH_THEME="powerlevel10k/powerlevel10kDebemos recargar este archivo para ver los cambios en nuestra terminal.source ~/.zshrcAsistente de configuraciónEscribe p10k configure para acceder al asistente de configuración incorporado directamente desde tu terminal.Powerlevel10k wizardAl final del wizard tendras una terminal mas personalizada y te sentiras muy feliz :)Vamos ahora a continuar agregando mas detalles de alto glamour a nuestra terminal.Algunas aliasAlgunos de los comandos que ya ha instalado, de hecho, admiten resaltado de color, por ejemplo: ls, grep y diff. En caso de que desee que estos comandos tengan siempre la opción de color habilitada, puede escribir alias en su archivo de configuración de terminal (.bashrc /.zshrc) para forzarlos.alias l='ls -l'
alias la='ls -a'
alias lla='ls -la'
alias lt='ls --tree'
alias cat=ccatPersonalizaciones de ZshZsh es un shell mucho más configurable con toneladas de complementos y temas que harán que su terminal se vea increíble e incluso mejorará su flujo de trabajo. Para este shell, las posibilidades de personalización son casi ilimitadas, por lo que ahora simplemente explicaré la configuración que uso.Una diferencia clave de Zsh es que no viene con configuraciones preconfiguradas como otras conchas como bash o fish, por lo que sugeriría copiar algunas de mis configuraciones como punto de partida, particularmente si lo está instalando por primera vez.Configurar combinaciones de teclas - keybindingsUna de las primeras cosas que noté rápidamente al usar Zsh es que muchas de las teclas y atajos a los que estaba acostumbrado, viniendo de bash, no funcionarían en absoluto o provocarían comportamientos inesperados. Incluso las teclas HOME y END no funcionaron. Así que aquí tienes toda la configuración de combinación de teclas que uso: bindkey '^[[2~' overwrite-mode
bindkey '^[[3~' delete-char
bindkey '^[[H' beginning-of-line
bindkey '^[[1~' beginning-of-line
bindkey '^[[F' end-of-line
bindkey '^[[4~' end-of-line
bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word
bindkey '^[[3;5~' kill-word
bindkey '^[[5~' beginning-of-buffer-or-history
bindkey '^[[6~' end-of-buffer-or-historyComplementos útilesAutosuggestions
Sugiere comandos a medida que escribe según el historial y las finalizaciones.Syntax highlighting
Este paquete proporciona resaltado de sintaxis para el shell Zsh. Permite resaltar comandos mientras se escriben en un indicador de Zsh en un terminal interactivo. Esto ayuda a revisar los comandos antes de ejecutarlos, particularmente para detectar errores de sintaxis.Con esto hemos terminado de enchular nuestra terminal. ¡Espero que esto haya sido útil y/o te haya hecho aprender algo nuevo!Profile@khriztianmoren