Primera versión completa
This commit is contained in:
parent
ab3e9f0d68
commit
4443890a9e
157
README.md
157
README.md
@ -10,13 +10,13 @@ Configuración personal de la shell
|
|||||||
- [Theme](#theme)
|
- [Theme](#theme)
|
||||||
- [Plugins](#plugins)
|
- [Plugins](#plugins)
|
||||||
- [Conclusiones](#conclusiones)
|
- [Conclusiones](#conclusiones)
|
||||||
- [Agradecimientos ❤️](#agradecimientos-️)
|
- [Agradecimientos 🎁](#agradecimientos-)
|
||||||
|
|
||||||
# Descripción
|
# Descripción
|
||||||
|
|
||||||
En este repo explicaré el terminal, la shell y las configuraciones que uso en el día a día. Intentaré tenerlo siempre actualizado.
|
En este repo explicaré el terminal, la shell y las configuraciones que uso en el día a día. Intentaré tenerlo siempre actualizado.
|
||||||
|
|
||||||
Resumo las opciones que he barajado para elegir.
|
Las opciones barajadas han sido:
|
||||||
|
|
||||||
- **Opciones UI:**
|
- **Opciones UI:**
|
||||||
- Terminator
|
- Terminator
|
||||||
@ -40,7 +40,7 @@ sudo apt install terminator
|
|||||||
```
|
```
|
||||||
Archivo de configuración en `${HOME}/.config/terminator/config`.
|
Archivo de configuración en `${HOME}/.config/terminator/config`.
|
||||||
|
|
||||||
**Shortcurts que me resultan interesantes:**
|
**Shortcuts que me resultan interesantes:**
|
||||||
|
|
||||||
Descripción | Atajo
|
Descripción | Atajo
|
||||||
---|:---:
|
---|:---:
|
||||||
@ -68,22 +68,169 @@ Editar título terminal | Ctrl+Alt+X
|
|||||||
Editar título ventana | Ctrl+Alt+W
|
Editar título ventana | Ctrl+Alt+W
|
||||||
|
|
||||||
# zsh
|
# zsh
|
||||||
En el archivo [zshrc](files/zshrc) está toda la configuración.
|
[`ZSH`](https://www.zsh.org/) son las siglas de Z Shell, que es un programa de shell para sistemas operativos similares a Unix. ZSH es una versión extendida de Bourne Shell que incorpora algunas características de BASH, KSH, TSH, etc.
|
||||||
|
|
||||||
|
Alguna de su funciones son:
|
||||||
|
|
||||||
|
- Finalización de la línea de comandos.
|
||||||
|
- La historia se puede compartir entre todas las conchas.
|
||||||
|
- Globbing extendido de archivos.
|
||||||
|
- Mejor manejo de variables y matrices.
|
||||||
|
- Compatibilidad con conchas como bourne shell.
|
||||||
|
- Corrección ortográfica y autocompletado de nombres de comandos.
|
||||||
|
- Directorios con nombre.
|
||||||
|
|
||||||
|
Su instalación en Ubuntu es muy sencilla, ya está incluído en los repositorios oficiales:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo apt update
|
||||||
|
|
||||||
|
sudo apt install zsh
|
||||||
|
```
|
||||||
|
|
||||||
|
Podemos comprobar su versión:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
zsh --version
|
||||||
|
```
|
||||||
|
|
||||||
|
Podemos ver la shell predeterminada imprimiendo la variable en pantalla:
|
||||||
|
```shell
|
||||||
|
echo $SHELL
|
||||||
|
```
|
||||||
|
|
||||||
|
Para establecer zsh como la shell predeterminada podemos usar `chsh`:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
chsh -s $(which zsh)
|
||||||
|
```
|
||||||
|
o
|
||||||
|
```shell
|
||||||
|
chsh -s /usr/bin/zsh
|
||||||
|
```
|
||||||
|
Y ahora, para usar zsh predeterminado debemos lanzar de nuevo la terminal. Podemos cerrar y volver a abrir o utilizar el comando:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
exec zsh
|
||||||
|
```
|
||||||
|
Cuando se inicie ZSH por primera vez, aparecerán algunas opciones para configurar. Por ejemplo:
|
||||||
|
|
||||||
|
a) Seleccione la opción “1”en la primera página que nos llevará al menú principal.
|
||||||
|
|
||||||
|
![](https://hazlolinux.com/wp-content/uploads/2021/08/1627178652_124_How-to-Install-and-Setup-Zsh-in-Ubuntu-2004.png)
|
||||||
|
|
||||||
|
b) El menú principal mostrará algunas opciones recomendadas para configurar.
|
||||||
|
|
||||||
|
![](https://hazlolinux.com/wp-content/uploads/2021/08/1627178652_946_How-to-Install-and-Setup-Zsh-in-Ubuntu-2004.png)
|
||||||
|
|
||||||
|
|
||||||
|
También podemos configurar directamente en el fichero `${HOME}/.zshrc`. Por ejemplo, el mío es este: [zshrc](files/zshrc).
|
||||||
|
|
||||||
|
En el caso que se quiera volver a `bash`, tan solo debemos cambiar la shell predeterminada con el comando:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
chsh -s $(which bash)
|
||||||
|
```
|
||||||
|
o
|
||||||
|
```shell
|
||||||
|
chsh -s /usr/bin/bash
|
||||||
|
```
|
||||||
|
|
||||||
|
O directamente desinstalar zsh 😢
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo apt --purge remove zsh
|
||||||
|
|
||||||
|
chsh -s $(which "SHELL NAME")
|
||||||
|
```
|
||||||
|
|
||||||
# Oh my zsh!
|
# Oh my zsh!
|
||||||
|
[`Oh My Zsh`](https://github.com/ohmyzsh/ohmyzsh) es un framework de código abierto, impulsado por la comunidad para la gestión de su configuración de zsh. Las características principales son:
|
||||||
|
- El directorio de **plugins** que puedes ver en su [repositorio Git](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins) y en la [wiki](https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins).
|
||||||
|
- El directorio de **themes** con más de ciento cincuenta incluidos. La mayoría de ellos tienen [capturas de pantalla](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes) en el wiki (¡Estamos trabajando en la actualización de esto!).
|
||||||
|
|
||||||
|
Para instalar `Oh My Zsh` se puede ejecutar con uno de los siguientes comandos.
|
||||||
|
|
||||||
|
Método | Comando
|
||||||
|
:---:|:---
|
||||||
|
**curl** | `sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"`
|
||||||
|
**wget** | `sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"`
|
||||||
|
**fetch** | `sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"`
|
||||||
|
|
||||||
|
Una vez instalado se puede ver toda la configuración en el árbol de directorios del directorio `${HOME}/.oh-my-zsh/`.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
.oh-my-zsh/
|
||||||
|
├── cache
|
||||||
|
├── CODE_OF_CONDUCT.md
|
||||||
|
├── CONTRIBUTING.md
|
||||||
|
├── custom
|
||||||
|
├── lib
|
||||||
|
├── LICENSE.txt
|
||||||
|
├── log
|
||||||
|
├── oh-my-zsh.sh
|
||||||
|
├── plugins
|
||||||
|
├── README.md
|
||||||
|
├── SECURITY.md
|
||||||
|
├── templates
|
||||||
|
├── themes
|
||||||
|
└── tools
|
||||||
|
```
|
||||||
|
|
||||||
## Theme
|
## Theme
|
||||||
|
El tema que he escogido es [`powerlevel10k/powerlevel10k`](https://github.com/romkatv/powerlevel10k) ❤️
|
||||||
|
|
||||||
|
![](https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/prompt-styles-high-contrast.png)
|
||||||
|
|
||||||
|
Hace hincapié en la velocidad, la flexibilidad y la experiencia out-of-the-box. Es un tema muy llamativo para las terminales.
|
||||||
|
|
||||||
|
Para instalarlo empezamos descargando con git y ubicándolo en su sitio:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
|
||||||
|
echo 'source ~/.oh-my-zsh/custom/themes/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
|
||||||
|
```
|
||||||
|
|
||||||
|
En el archivo de configuración de zsh `.zshrc` tendremos que buscar la línea del tema, suele ser `ZSH_THEME="robbyrussell"`, y reemplazarlo por `ZSH_THEME="powerlevel10k/powerlevel10k"`.
|
||||||
|
|
||||||
|
Reiniciamos la terminal y nos aparecerá un asistente de configuración del tema powerlevel10k. También podemos acudir a este wizard con el comando:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
p10k configure
|
||||||
|
```
|
||||||
|
|
||||||
|
Cualquier duda sobre la instalación y configuración del tema, la [documentación oficial](https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH) es muy completa.
|
||||||
|
|
||||||
|
|
||||||
## Plugins
|
## Plugins
|
||||||
|
Los plugins que utilizo son los siguientes:
|
||||||
|
- [dirhistory](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/dirhistory)
|
||||||
|
- [docker](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/docker)
|
||||||
|
- [docker-compose](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/docker-compose)
|
||||||
|
- [encode64](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/encode64)
|
||||||
|
- [git](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git)
|
||||||
|
- [history](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/history)
|
||||||
|
- [history-substring-search](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/history-substring-search)
|
||||||
|
- [jsontools](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/jsontools)
|
||||||
|
- [jump](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/jump)
|
||||||
|
- [kubectl](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/kubectl)
|
||||||
|
- [nmap](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/nmap)
|
||||||
|
- [sudo](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/sudo)
|
||||||
|
- [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)
|
||||||
|
|
||||||
|
La mayoría son de `Oh my zsh` y la instalación es simple: Después de instalar Omz tan solo hay que incluirlos en los plugins del documento `.zshrc`.
|
||||||
|
|
||||||
|
De todas formas, para sacar el máximo jugo, es interesante leer el README de cada uno de ellos.
|
||||||
|
|
||||||
# Conclusiones
|
# Conclusiones
|
||||||
|
He empezado con este nuevo ambiente de trabajo a finales de octubre de 2022, el tiempo dirá si tengo los componentes más adecuados, pero desde luego tengo que destacar varios aspectos:
|
||||||
|
- La comunidades que respaldan cada unos de los elementos mencionados.
|
||||||
|
- Las posibilidades de gestión de terminales de terminator.
|
||||||
|
- La customización con los themes. De los colores, de las fuentes, de los tamaños, de las ubicaciones, etc
|
||||||
|
- El amplio abaníco de shortcuts personalizados de la terminal y de los plugins omz.
|
||||||
|
|
||||||
|
|
||||||
# Agradecimientos ❤️
|
# Agradecimientos 🎁
|
||||||
|
|
||||||
A todos los que me habéis comentado como tenéis vuestra configuración: Miki, Sergio, Ruben, Javier, Alex, Victor, etc
|
A todos los que me habéis comentado como tenéis vuestra configuración: Miki, Sergio, Ruben, Javier, Alex, Victor, etc
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user