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)
|
||||
- [Plugins](#plugins)
|
||||
- [Conclusiones](#conclusiones)
|
||||
- [Agradecimientos ❤️](#agradecimientos-️)
|
||||
- [Agradecimientos 🎁](#agradecimientos-)
|
||||
|
||||
# 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.
|
||||
|
||||
Resumo las opciones que he barajado para elegir.
|
||||
Las opciones barajadas han sido:
|
||||
|
||||
- **Opciones UI:**
|
||||
- Terminator
|
||||
@ -40,7 +40,7 @@ sudo apt install terminator
|
||||
```
|
||||
Archivo de configuración en `${HOME}/.config/terminator/config`.
|
||||
|
||||
**Shortcurts que me resultan interesantes:**
|
||||
**Shortcuts que me resultan interesantes:**
|
||||
|
||||
Descripción | Atajo
|
||||
---|:---:
|
||||
@ -68,22 +68,169 @@ Editar título terminal | Ctrl+Alt+X
|
||||
Editar título ventana | Ctrl+Alt+W
|
||||
|
||||
# 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`](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
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user