¿Utilizas alguna terminal diferente a la que viene por defecto en tu Mac? Yo también lo hacía, mi terminal favorita y la que iba a instalar apenas estrenaba equipo era iTerm2, pero con la terminal actual de MacOS siento que ya no es necesario. Por defecto la terminal viene con zsh
como shell.
ZSH, también llamado Z shell, es una versión extendida de Bourne Shell (sh), con muchas características nuevas y soporte para plugins y temas. Dado que se basa en el mismo shell que Bash, ZSH tiene muchas de las mismas características. Empezar a utilizarlo es muy sencillo.
En primer lugar tienes que instalar… ¡Ah! Es verdad, trabajaremos con la terminal nativa de MacOS, entonces no tienes que instalar nada.
Espera, sí tenemos que instalar Homebrew
que es el gestor de paquetes para macOS y que nos ayudará a instalar todo tipo de cosas en un futuro. Según la descripción de la página oficial, Homebrew
instala todo aquello que necesitas que Apple no instala de serie.
Te recomiendo que vayas a su página oficinal para conocer más de esta herramienta, para la instalación deberás de ejecutar este comando en tu terminal:
brew install wget
Ya que terminó la instalación de Homebrew
, es hora de instalar Oh My Zsh que es un framework open source para manejar las configuraciones de zsh
.
De nuevo te invito a que vayas a su página oficial para conocer más de esta herramienta, pero para instalarla solamente necesitas el siguiente comando.
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
No hay nada más bonito en la personalización de nuestros entornos de desarrollo que poder definir los colores que nosotros queramos tener, ya sea la terminal, nuestro editor o lo que sea, así que veamos cómo puedes cambiar los colores de tu terminal.
Esto lo podemos hacer manualmente cambiando los colores ANSI de la terminal, pero no será la forma que veremos hoy. Emil Kashkevich tiene un repositorio genial en GitHub con diferentes temas (muchísimos en realidad) para la terminal nativa de macOS.
Los pasos para empezar a probar estos temas en tu terminal son muy sencillos y están descritos en el README del repositorio, pero como están inglés aquí te los explicaré en español para que no haya confusiones:
Clona o descarga el repositorio a tu local, así tendrás todos los temas disponibles en tu computadora.
Abre la carpeta que descargaste, en mi caso se descargó con el nombre de macos-terminal-themes-master
y dentro de esa carpeta ve a la carpeta de themes
.
Dentro de themes
abre cualquiera de los archivos que terminan en .terminal
, al hacer esto se abrirá la aplicación con el tema que has elegido.
En mi caso yo seleccionaré el de Ayu Mirage.terminal
que según la misma documentación del repositorio tiene la paleta de colores que vemos en la imagen siguiente.
Listo, ahora ya tienes la terminal con los colores a tu gusto, sigamos personalizándola porque la cosa no acaba aquí.
Neofetch es un programa que nos permite ver en la terminal información básica tanto de nuestro hardware como de nuestro software. Seguro te estás preguntando ¿esto qué tiene que ver con la personalización de los colores? Pues bien, la información que muestra neofetch
se hace mediante el uso de colores y logos del sistema operativo en ASCII.
La instalación de neofetch
la puedes realizar con el siguiente comando:
brew install neofetch
Una vez instalado solo tenemos que escribir el comando neofetch
desde la terminal y te mostrará la información de tu sistema. En la imagen siguiente te muestro como se ve en mi terminal.
Hay muchos proyectos con fuentes parcheadas para desarrolladores. Estas fuentes vienen con glifos adicionales de fuentes icónicas como lo puede ser Font Awesome, Devicons, etcétera.
La que a mí más me gusta es Nerd Fonts, nuevamente te invito a revisar su página oficial donde encontrarás todas las features que incluye.
La instalación de este proyecto será también a través de brew
con los siguientes comandos:
brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font
Una vez que ya tienes instalada esta fuente hay que aplicarla para que la terminal empiece a usarla. Abrimos nuestra terminal y accedemos a las configuraciones haciendo uso del shortcut cmd + ``. Debes de acceder a la sección de perfiles y en el perfil predeterminado (que es el perfil actual) selecciona el tipo de letra que quieres usar, en este caso
Hack Regular Nerd Font`, yo la tengo seleccionada con un tamaño de letra 13.
Sí no ves ningún cambio en tu terminal aún, no te preocupes todo esto lo empezarás a ver conforme avancemos en la configuración.
Ya que instalamos la fuente parcheada y definimos la fuente y los colores de nuestra preferencia ahora podemos personalizar el prompt
para que se vea completamente a nuestro gusto.
Pero antes… ¿Sabes qué es el prompt
?
Según la Wikipedia es el carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de órdenes.
Oh My Zsh tiene su propio listado de temas para modificarlo, estos los podemos encontrar en su documentación. La colección de temas que tiene disponibles están ordenados de forma alfabética y podemos elegir entre muchísimos temas, te invito a que vayas a revisar todos los que hay disponibles, escojas algunos para probar y regreses para seguir personalizando tu terminal.
Sí ya elegiste el tema que quieres utilizar es hora de configurarlo, para esto necesitas abrir el archivo ~/.zshrc
, este lo puedes abrir desde tu terminal haciendo uso del comando code
para que se abra en Visual Studio Code.
code ~/.zshrc
Ya que tengas abierto el archivo ya sea en Visual Studio Code o en tu editor favorito, has uso de la función de búsqueda cmd + f
para encontrar la variable ZSH_THEME
ya que ahí tienes que definir el nombre del tema que utilizarás para tu prompt.
Uno de mis temas favoritos es awesomepanda
, ya que es muy minimalista, así que lo definiré en la variable de esta forma ZSH_THEME="awesomepanda"
, una vez hecho esto solo resta guardar los cambios en el archivo y reiniciar la terminal para que los cambios sean aplicados.
Con los cambios aplicados mi terminal luce así, pero aún no estamos aprovechando del todo los superpoderes de tener una fuente iconográfica.
Powerlevel10k es un tema de zsh
que se enfoca en la velocidad, la flexibilidad y la experiencia out-of-the-box, esta es la definición que ellos mismos se dan en su documentación, la cual, sí adivinaste, te invito a revisar.
Hay muchas formas de realizar la instalación de este tema, pero veamos la forma sencilla, la cual es utilizando Oh My Zsh en donde solo necesitas utilizar este comando en la terminal:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Una vez que el comando termine su ejecución repetimos los pasos anteriores para definir el valor de ZSH_THEME
en el archivo ~/.zshrc
, el nuevo valor debe de ser powerlevel10k/powerlevel10k
, por lo que la variable nos debe quedar de esta forma:
ZSH_THEME="powerlevel10k/powerlevel10k"
Para ver los cambios aplicados podemos reiniciar la terminal o simplemente recargar el archivo, para recargar el archivo escribe este comando en la terminal:
source ~/.zshrc
Powerlevel10k tiene un asistente propio de configuración, para acceder escribe p10k configure
lo cual habilitará dicho asistente en tu terminal.
Cuando termines con el asistente ya tendrás una terminal muy personalizada, recuerda que puedes elegir entre muchos temas que ya están incluidos en Oh My Zsh, por si no quedas convencida del resultado de Powerlevel10k.
Oh My Zsh viene con su propio bundle de plugins, te dejo la liga para que revises las opciones que más se adapten a tus necesidades. En lo personal yo te recomendaré dos que son básicas en mi día a día.
Syntax highlighting ofrece el resaltado de sintaxis para la shell de zsh. Esto no es otra cosa que de forma interactiva nos resalta los comandos mientras los vamos escribiendo, lo cual nos ayuda a detectar errores de sintaxis al escribir.
Si el comando que estás escribiendo es incorrecto o está incompleto lo mostrará en rojo.
Por otro lado, si el comando que escribiste es correcto lo mostrará en verde, esto a la hora de estar trabajando en la terminal es muy útil.
Autosuggestions su funcionalidad es que a medida que vas escribiendo te recomendará comandos según el historial que tengas.
Veamos cómo instalar estos dos plug-ins, para que los puedas empezar a usar en tu terminal y con eso puedas instalar después cualquier otro plug-in que quieras añadir.
La instalación en ambos casos es sencilla, se puede hacer a través de Oh My Zsh como ya has instalado otros recursos para tu terminal o se puede hacer de forma manual, en este caso te mostraré cómo hacerlo de forma manual en caso de que la instalación automática falle.
Lo primero es clonar el repositorio del plug-in en tu local. Te recomiendo clonarlo en la carpeta de plug-ins de Oh My Zsh, en mi caso esta carpeta se encuentra en la siguiente ruta:
/Users/alejandracamacho/.oh-my-zsh/plugins
Identifica el lugar donde clonarás el repositorio y navega hacia ahí desde tu terminal.
cd /Users/%tu_usuario%/.oh-my-zsh/plugins
Una vez ahí solo debes de utilizar el comando git clone
para clonar el repositorio.
# Syntax highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
# Autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
Ya que ambos repositorios fueron clonados, hay que ir al archivo ~/.zshrc
y añadir hasta el final las siguientes líneas:
# Syntax highlightingsource /Users/%tu_usuario%/.oh-my-zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Autosuggestionssource /Users/%tu_usuario%/.oh-my-zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
Reinicias la terminal y ya tendrás tanto el autocompletado como la revisión de sintaxis en tu terminal.
Algo que es muy útil dentro de la terminal es usar alias, así podemos acortar los comandos que más usemos para no tener que estarlos escribiendo completos o también para que sea más fácil memorizar comandos largos.
Para crear un alias lo único que necesitas hacer es escribir lo siguiente en tu terminal:
alias l='ls -l'
Con esto, a partir de ahora en lugar de tener que escribir ls -l
para obtener un listado detallado de los archivos de la ubicación actual simplemente escribes l
y obtendrás la misma información un poco más rápido.
Puedes definir todos los alias que tú necesites.
En este punto tienes una terminal muy personalizada, podría decir que hasta con superpoderes, pero la cosa no acaba ahí, ahora te invito a ti a descubrir que más puedes implementar en la terminal para dejarla completamente a tu gusto.
Hay herramientas como tmux que te permite correr varias tareas de forma simultánea en tu terminal a través de paneles y sesiones configurables… desde una sola ventana. Así como esta puede haber muchas opciones más que sean de tu interés, así que no dudes en darte un clavado y ver de qué forma le puedes sacar más provecho a la terminal.
No olvides que Platzi tiene cursos que te ayudarán a sacarle el máximo provecho a tu terminal, de los cuales te dejaré una lista aquí abajo para que no dudes en tomarlos ya.
Y listo, por último recuerda: nunca pares de aprender. 💚
Excelente post. Le daré una segunda probada a la terminal a ver si suelto iTerm
Gracias por el apoyo Mus 🔥
Yo también siempre he usado iTerm, que buen post Alejandra, gracias
In love with ZSH😍
En Linux o en Mac no importa donde ZSH es lo mejor de lo mejor
¡Hola Alejandra!
Muchas gracias por este gran post, me ha encantado y ha sido de mucha ayuda!!!
Cuando estaba instalando los plugins, me encontré con un pequeño error con el comando del Autosuggestions
En la guia esta este comando:
A mi no me sirvió, cuando ley la documentación, encontré el siguiente:
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
y este si me sirvió
Para que lo tengan en cuente 😃
Las referencias que están ahí están apuntando a mis archivos en locales, que bueno que lo pudiste solucionar 😄
!Está super! …muchas gracias @alexcamachogz 😄
Muchas gracias Manuel 😄
Este es uno de esos Post que más amo y aprecio. Gracias por compartir. Es de referencia eterna! 🦾
jaja hasta yo lo usaré para la próxima vez que necesite reconfigurar mi terminal uwu
Este post está genial!! muchas gracias , me ha sido muy útil. Así me ha quedado con Tomorrow Night Blue terminal:
Excelente post!
De verdad está increible que algunos ya puedan ir abandonando iterm en MAC
Al contrario, yo me pase a iTerm por el soporte de colores
Genial, este aporte… Vendría bien esta info antes para los usuarios que utilizamos Zsh 😄
yo tengo mac mojave, es diferente o tambien funciona?gracias
Funciona igual 😃 creo que esta característica va desde mojave en adelante.
Hola Carlos,
Estoy pensando en instalarlo, pero también tengo Mojave.
Cómo te fué?
Acabo de abandonar iTerm 💻 , definitivamente me quedo con la Terminal. 😍 )
Esto tambien se puede hacer con iTerm2 y de hecho con arm jala muy bien
El chiste de usar la terminal es abandonar usar aplicaciones no nativas.
¿Para qué usar algo que ya extra si ya nuestro sistema lo trae por defecto? 😄
podrías compartir la config de .zshrc porque a mi me muestra errónea las imágenes con [?] donde te sale el logo apple y en todas las imágenes que tiene el tema
Hola @yeimialb para que salgan los iconos debes instalar la fuente Meslo LG S NF y selecionarla en el perfil de la consola para que la tome:
Excelente aporte, siempre había querido ver mi terminal como el de muchos de mis colegas y hasta ahora (gracias a ti) pude hacerlo. Saludos
Para eso estamos 😄
Excelente, gracias
spaceship para oh my zsh es un 10 de 10 o almenos para mi
Su simpleza y minimalismo es un acierto.
donde puedo encontrar spaceship???
Super genial Ale, eres un crack, me gusto mucho y decir verdad son con de no instalar programas que ya están nativas para el uso diario y que se pueden mejorar como lo has hecho tú, muchas felicidades !!! éxito.
Tal cual como lo predije hace un par de meses, aquí estoy consultando el post para personalizar la terminal de macOS!
Excelente aporte!
Si quereis que cada que se abra vuestra terminal se muestre automáticamente neofetch haced lo siguiente:
vim ~/.zshrc
Una vez adentro del archivo, bajad hasta el fondo y agregad una linea con: neofetch
Guardais, y reinicias la terminal y Listo! 😄
que gran aporte amigo, muchas gracias. Me gusto bastante jeje
No me sirven los comando en mi Mac, debe ser por el chip M1 ayuda pls
¡Hola Diego!
Yo tuve un problema con un comando solamente…a mi me sirvió ir a la documentación que comparte Alejandra y copiar los comandos desde el repositorio de Github.
Te recomiendo esa manera!
(Yo también tengo un Mac)
Revisa si no tienes algun typo en los comandos. Como dice Jorge siempre es bueno ir a la documentación y revisar directamente ahí por si tenemos algún error 😄
Te recomiendo correo tu terminal con rosseta, a mi me funciona mejor asi en mi M1
Gracias por la ayuda, si debía descargar rosetta y hacerlo funcionar como si fuera un intel, algunos comandos zsh no vienen por defecto en la nueva terminal. Martindavila crack !
Que bueno que lo pudiste solucionar 😄 compartenos tu resultado.
No entiendo como hacerlo con Rosetta?
Uuuufff, excelente aporte Alex 😄
Gracias Fran 😃 ¿Ya lo vas a poner en práctica?
Ahora quiero comprarme un Mac! TnT
Nunca es tarde para venir a este lado de la fuerza 😛
Esta información es oro puro.
¡Es momento de decirle adios 👋a iterm!
¿Cómo quedaron sus terminales?
Adios, adios a iTerm. Comparte cómo luce tu nueva terminal 😄
Pues ya empecé y aquí están los resultados !! M1 esta siendo toda una pesadilla u.u
Alguien sabe si se puede algo similar en Linux. ?
Mas especificamente, Ubuntu…
Se ve muy bonita. 😃
Claro que sí, la personalización en Linux también es muy potente y también puedes instalar ZSH y por supuesto Oh My ZSh y los diferentes plugins que menciono en el blog 😃 Solo es cuestión de que identifiques los comandos necesarios para hacer estas instalaciones en tu sistema.
Puedes echarle un vistazo a este blog https://platzi.com/blog/como-personalizar-tu-terminal/
Excelente!! 😮 esta información no se la encuentra ni en YouTube!!
Ayudaa despues de instalar Oh My Zsh me aparece esto en mi terminal cada que la abro
[oh-my-zsh] Insecure completion-dependent directories detected: drwxrwxr-x 3 eltimo admin 96 Mar 509:36 /usr/local/share/zsh drwxrwxr-x 3 eltimo admin 96 Mar 509:43 /usr/local/share/zsh/site-functions [oh-my-zsh] For safety, we will not load completions from these directories until [oh-my-zsh] you fix their permissions and ownership and restart zsh. [oh-my-zsh] See theabovelistfor directories with group or other writability. [oh-my-zsh] To fix your permissions you can do so by disabling [oh-my-zsh] thewrite permission of"group"and"others"and making sure thatthe [oh-my-zsh] owner of these directories is either root or your current user. [oh-my-zsh] The following command may help: [oh-my-zsh] compaudit | xargs chmod g-w,o-w [oh-my-zsh] If theabove didn't help or you want to skip the verification of [oh-my-zsh] insecure directories you can setthe variable ZSH_DISABLE_COMPFIX to [oh-my-zsh] "true"before oh-my-zsh is sourced in your zshrc file.
es muy incomodo ¿que debo hacer?
Se parece bastante a como tengo la mía jajaj
¡Increíble post! ¡Gracias por el aporte!!!
Hola, en el momento que intento abrir el tema que deseo me dice que mi compu no puede abrirlo ya que es de un desarrollador desconocido y que puede ser malicioso, me podrías ayudar? además que no pude abrir configuración 😦
Me encanto el post! Muchas gracias por compartirnos tu experiencia
Me parece excelente, no me había fijado, ya uno va por default a instalar iTerm
Yo hacia lo mismo, hasta que descubrí que la terminal nativa se volvió más poderosa que antes jaja
Holi alguien sabe como cambiar los colores de Powerlevel10k?
PowerLevel10k solo cambia como se visualiza el prompt, los colores los cambias cambiando el tema de la terminal 😄
Muy útil este post 🙌🏻
hola al finalizar la instalacion me dio el siguiente mensaje
WARNING: ~/.zshrc is readonly and not owned by the user. Cannot modify it.
cada vez que la abro me muestra eso
Que gran post, gracias por todos los aportes que das, me han servido mucho!!
gracias, me sirvio para soltar iterm. Ahora toca ver como poder ver el rendimiento desde la consola
Excelente
Hola, aún hay alguien por aca, resulta que me sale esto.
zsh: command not found: brew
Ayudaaaaaa que triste no pasar de la primera accion 😭😭😅
Excelente post!
¡Anotado!
Cuando tenga una mac les aviso que tal 😁
Es muy útil tener varias personalizaciones de la Terminal en un post. ¡Muchas gracias Ale! 😄
Excelente blog para la instalación de la personalización
muchas gracias,saludos
No puedo abrir el theme 😦
I use Linix btw
Por cierto, muy bueno el post! meticulosamente detallado, y muy bien estructurado!
Muchas gracias 😄 Que bueno que te pareció así.
qué hay con los de windows?
Puedes aprender cómo configurar tu entorno Windows, en el Curso de Prework 💚.
mi tema favorito es Cloud
uhhhhh siiii, es sencillo y hermoso a la vez.
Me encantó tu blogpost! Los plugins son oro puro
Muchas gracias Raul, y sí, los plugins hace de tu vida más fácil jaja una vez que los pruebas no los puedes dejar.
Hola! Tuve un problema; en la parte de 💲 El prompt Temas de Oh My Zsh;
tengo el vs pero no me funciono con esto code ~/.zshrc
hice open ~/.zshrc lo modifique con un editor de texto al tema que pusiste para ver de ejemplo awesomepanda, lo guarde reinicie y sigue todo igual. Como haria para solucionar esto ?¿
seguia en bash; pequeño gran detalle
Que bueno que lo pudiste solucionar 😄
No lo sabía hasta que leí tu artículo. Soy muy de iTerm desde tiempos inmemoriales, pero vale la pena darle un ojo a esta bebé.
Yo era igual, mac nueva y de cajón iTerm, pero creo que eso ya empieza a estar en el pasado jaja
No hay algo así para la powershell de windows? jaja
Digo, ya me acostumbre a como se ve todo en azul, pero igual no estaría de más que se viera un poco mejor.
Este post creo que debería estar recomendado en algún vídeo u otro lugar para que todos los usuarios de Mac puedan usarlo.
Este nivel de personalización no, lo más cercano que puedes tener en Windows es con WSL que al ser una terminal de Linux sí puede ser personalizable.
Está interesante que estén implementando algo similar para Windows 😄
Creo que existe una corrección ya que clonamos el repo de zsh-autosuggestions en:
Auto # Autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
Y se indica confugurar en el archivo ~/.zshrc
<h1>Autosuggestions</h1>source /Users/%tu_usuario%/.oh-my-zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
Pero debe ser
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
Ya que allí es donde se le indica que clone el plugin
En mi caso al abrir una consola en Visual Studio Code me salia el log
/Users/francisco.naranjo/.zshrc:source:118: no such file or directory: /Users/francisco.naranjo/.oh-my-zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
No es un error, la ruta dada en esa sección del blog depende de dónde esté clones el repositorio como lo indiqué de elegir la ruta de tu preferencia x)
Y bueno el source dependerá completamente de tu entorno, las rutas sugeridas dependen del entorno en el que yo hice estas configuraciones 😃
Muchas gracias
Por nada 😄
Excelente tutorial para personalizar la terminal de Mac, gracias!
Que bueno que te sirvió! 😄
Excelente tema , super se ve la terminal , pero instalando el plugin me sale el siguiente error no me funcionan , alguien me puede ayudar , ya revise toda la documentación de los sitios , instale los plugin según la documentación de los sitios pero me sale el siguiente error .
En mi archivo puede ver esta información y así lo hice
Tienes que indicar en el
source
el path correcto donde esta tu plugin 😃Excelente aporte, gracias!!!
¡Gracias! Super bien que te sirvió 😄
Me gustó bastante! 😎 ahora lo experimento…