El uso de la terminal es una de las mayores ganancias de productividad en su trabajo diario como desarrollador. Si conoce el atajo, será más rápido que usar el mouse. En este artículo, quiero mostrarte la configuración de mi terminal y cómo lo uso todos los días. La imagen de portada muestra mi configuración actual.
Soy un usuario de macOS, por lo que este artículo se centra en este sistema operativo, pero la mayoría del software que demuestro también es adecuado para usuarios de Windows y Linux.
Instalar homebrew
Homebrew es el administrador de paquetes faltante para macOS (o Linux) que hace que la instalación de paquetes sea muy fácil.
Para instalarlo en macOS, simplemente pegue el siguiente comando en la terminal:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Después de eso, debería poder ejecutar brew. Puede ejecutar brew -v en la terminal para verificar si la instalación es exitosa:
▶ brew -v
Homebrew 2.2.4
Homebrew/homebrew-core (git revision 22532; last commit 2020-01-31)
Homebrew/homebrew-cask (git revision 19d828; last commit 2020-01-31)
iTerm2
Recomiendo reemplazar el valor predeterminado en Terminal.appmacOS con iTerm2 .
Puedes instalarlo usando brew:
brew install --cask iterm2
Algunas de las mejores características de iTerm:
- Divida su terminal en varios paneles, puede cambiar mediante teclas de acceso rápido
- Registre una tecla de acceso rápido para traer el terminal al primer plano cuando esté en otra aplicación
- Potente función de búsqueda de páginas
- Diferentes perfiles de usuario pueden guardar la disposición de sus ventanas, etc.
- Pegar historial, mostrando todo el contenido que ha pegado en la terminal
- Y mas
ZSH y Oh My ZSH
A partir de macOS Catalina (10.15.2), el shell predeterminado ahora es ZSH en lugar de Bash. Puede enriquecer ZSH con el marco Oh My ZSH , que proporciona algunas características que mejoran la productividad:
- A través del botón Tab para completar automáticamente, puede seleccionar los directorios, comandos y archivos disponibles.
- Con el comando alias, puede
alias
obtener una lista de todos los alias disponibles ejecutando en la terminal - Puede omitir los
cd
comandos (cambiar de directorio): (..
reemplazarcd ..
),../..
(reemplazarcd ../..
)/
(para el directorio raíz) y~
(para el directorio de inicio) take
El comando crea un nuevo directorio y cambia su ruta. Ejemplo:take testFolder
conmkdir testFolder && cd testFolder
- Utilice
-
su última y actual ruta para navegar rápidamente - Muchos temas geniales
- Increíble lista de complementos
- Integración de Git
- Hay muchos más ...
Puede instalarlo usando el siguiente comando de terminal:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Oh My ZSH
Se puede .zshrc
configurar a través del archivo de configuración:
vi ~/.zshrc
Mi .zshrc
configuración se parece a esto:
# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH
export JAVA_HOME="/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/"
# jenv
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
# Path to your oh-my-zsh installation.
export ZSH=/Users/mhoffman/.oh-my-zsh
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="avit"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
brew
docker
npm
osx
bgnotify
zsh-syntax-highlighting
zsh-autosuggestions
web-search
)
source $ZSH/oh-my-zsh.sh
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
alias zshconfig="nano ~/.zshrc"
alias ohmyzsh="nano ~/.oh-my-zsh"
alias gpf='git push -f'
# Docker alias
alias dkps="docker ps"
alias dkst="docker stats"
alias dkpsa="docker ps -a"
alias dkimgs="docker images"
alias dkcpup="docker-compose up -d"
alias dkcpdown="docker-compose down"
alias dkcpstart="docker-compose start"
alias dkcpstop="docker-compose stop"
# Kubectl alias
alias kdev='kubectl -n dev'
alias kpg='kubectl -n playground'
alias ktest='kubectl -n test'
alias kprod='kubectl -n prod'
alias kpreprod='kubectl -n preprod'
Utilizo el tema avit , pero hay muchos otros temas interesantes .
Algunas palabras sobre los complementos usados, aquí puede encontrar Oh My ZSH
una lista de todos los complementos disponibles :
- git: Git que proporciona muchos alias y algunas funciones útiles .
- brew: agregue varios alias para los comandos brew más utilizados .
- docker: agrega la función de autocompletar para docker .
- npm: proporcione funciones de finalización y agregue muchos alias útiles a npm .
- osx: proporciona algunas utilidades para OSX.
- bgnotify: notificación en segundo plano multiplataforma para comandos de larga duración
- Búsqueda web: agregue alias para buscar en Google, Wiki, Bing, YouTube y otros servicios populares.
- zsh-autosuggestions : sugiera ingresar comandos basados en registros históricos y finalización
- zsh-syntax-highlighting : proporciona resaltado de sintaxis para shell zsh, rojo significa no válido, verde significa comando válido:
Usar tema material
Realmente me gusta Material Design, así que debido a este esquema de color iTerm2 , también lo usé en iTerm. Las instrucciones de instalación se pueden encontrar aquí .
El resultado debería ser similar a mi terminal:
Usa un tema mínimo
Elija "Tema mínimo" para hacer la interfaz más limpia y las etiquetas más pequeñas, como se muestra en la captura de pantalla anterior:
Cambiar fuente a fuente Cascadia
Utilizo la fuente Cascadia de Microsoft en iTerm. Después de instalar la fuente en el sistema operativo, debe seleccionarla como fuente en el archivo de configuración de iTerm:
Buena herramienta CLI
En este capítulo, quiero demostrar algunas herramientas CLI que uso a menudo en la terminal. Estas herramientas pueden aumentar enormemente su productividad:
- lazygit : interfaz de usuario de terminal simple pero sorprendente para comandos git
- HTTPie : Cliente HTTP de línea de comandos con interfaz de usuario intuitiva, compatibilidad con JSON, resaltado de sintaxis, descargas como wget, complementos, etc. A menudo los uso en lugar de programas gráficos como Postman o Insomnia.
- htop : "Visor de procesos interactivo para sistemas Unix", lo usé en lugar de macOS
Activity Monitor.app
- Midnight Commander : administrador de archivos visual
- árbol : muestra el contenido del directorio en formato de árbol
- bat : clon de gato con resaltado de sintaxis e integración de Git
- lnav : visor de archivos de registro avanzado
- kubectl : herramienta de línea de comandos de Kubernetes, utilizada para ejecutar comandos en clústeres de Kubernetes
- reloj : comando de reloj de Linux, que es muy útil para ejecutar comandos con regularidad
Curso libre
Si desea obtener más información sobre ZSH, le recomiendo encarecidamente que Wes Bos proporcione un curso gratuito de Command Line Poweruser .
En conclusión
Todavía estoy al comienzo del viaje de la terminal, pero me gusta mucho hasta ahora. El uso de la terminal con más frecuencia puede reducir el tiempo para sostener el mouse, y el uso de la CLI puede completar muchas operaciones más rápido que con la interfaz gráfica. Por supuesto, incluso si solo navega por el catálogo, se ve genial.
Hágame saber qué herramientas CLI útiles está utilizando y qué consejos de productividad puede compartir conmigo y con la comunidad.
referencia
https://www.mokkapps.de/blog/boost-your-productivity-by-using-the-terminal-iterm-and-zsh/