Unos cuantos trucos para la shell fish que quizás no conocías

Si usas la shell fish en tu distribución GNU/Linux, estos trucos y atajos de teclados te resultarán muy útiles y quizás no los conocías

Desde que hice el cambio de shell de Bash a Fish no he vuelto atrás, salvo para scripts, aunque he de reconocer que el scripting de fish tiene algunas cosas mejores y más intuitivas que bash.

Por el blog he escrito varios artículos sobre Fish, y en este caso quiero compartir unos cuantos trucos propios de fish que te harán el trabajo en la terminal mucho más rápido y llevadero, seguro que alguno lo incorporas a tu día a día.

Ir al directorio anterior y siguiente

Para regresar y volver entre directorios que hemos visitado tenemos estas dos opciones:

  • Alt + ← Para ir al directorio anterior
  • Alt + → Para ir al directorio siguiente

Imaginemos que desde nuestro directorio /home vamos a estos directorios:

~/> cd Git/repositorio1
~/Git/repositorio1> cd ../repositorio2
~/Git/repositorio2> 

Mediante el uso de los dos atajos de teclados anteriores, podremos desplazarnos entre los directorios visitados, sin necesidad de volver a escribir la ruta, simplemente navegando hacia adelante y atrás de una manera más rápida.

Paginador automático

En ocasiones usamos el comando cat para ver contenido de un archivo, pero nos lo muestra entero, por lo que si es muy largo habrá partes que no podamos ver.

Para eso sirve un paginador, para poder tener el control del archivo que mostramos con cat. Para usarlo escribimos cat archivo y pulsamos el atajo de teclado Alt + p.

¿Qué hace este comando?

Si no sabemos exactamente lo que realiza un comando, y queremos que nos muestre una información muy básica de para qué sirve (muestra la primera línea de la página man del comando) tenemos el atajo de teclado Alt + w

Escribimos el comando y con el cursor todavía al final del comando ejecutamos el atajo de teclado.

Abre tu editor

Si escribes en una terminal echo $EDITOR verás el editor que tienes configurado en tu sistema (en el mío es Vim ¿lo conoces?). Si alguna vez lo queremos abrir rápidamente, bastará con ejecutar Alt + e

Ejecutar el comando anterior como sudo

A veces ejecutamos como un usuario normal un comando que debería tener privilegios de superusuario. Solemos soltar un taco y tal como muestra la imagen podemos ejecutar sudo !!

Con !! ejecutamos el último comando que hayamos ejecutado (valga la redundancia), así que le anteponemos sudo. Peeeeero si usamos fish tenemos el atajo de teclado Alt + s que automáticamente nos antepone sudo al comando anterior en una nueva línea para ejecutarlo. ¡Pruébalo!


¿Usas Fish y conocías estos atajos de teclado? Te aconsejo que los pruebes en tu terminal y te vayas acostumbrando a su uso, verás que alguno te será de gran utilidad en muchas tareas.

Comparte tu experiencia con fish y con estos atajos en los comentarios.

4 comentarios sobre “Unos cuantos trucos para la shell fish que quizás no conocías

  1. Está muy curioso lo del Alt + flecha. Una especie de historial aunque a mi me iría mejor que Alt + flecha izquierda fuera un cd ..

    Curiosísimo el Alt + P para paginar el resultado. Aunque estoy más acostumbrado a poner | more o | grep ‘loquesea’

      1. Hace años que tengo pillado el Alt + S como combinación para poner el salvapantallas. Y al hacer:

        ~/Descargas  snapper list  ✔  11:42:22
        Sin permisos.

        ~/Descargas  sudo !!  ✘ 1  18:59:22
        [sudo] password for root:
        sudo: !!: command not found

        me dije… «vaya truño» y pasé de deshacer la combinación Alt + S.

        Como lo has mencionado de nuevo, he probado a hacerlo en bash desde fish:

        ~/Descargas  bash  ✘ 1  3s  18:59:28
        krovikan@Linux:~/Descargas> snapper list
        Sin permisos.
        krovikan@Linux:~/Descargas> sudo !!
        sudo snapper list
        # | Tipo | Pre número | Fecha | Usuario | Espacio usado | Limpieza | Descripción | Información del usuario
        ——+——–+————+————————–+———+—————+———-+—————————————————+————————
        0 | single | | | root | | | current |
        1073* | single | | sáb 12 jun 2021 10:48:46 | root | 51,36 MiB | | writable copy of #1028 openSUSE 15.2 funcionando |
        1937 | pre | | mié 07 sep 2022 11:57:04 | root | 2,78 GiB | number | zypp(packagekitd) | important=yes
        1938 | post | 1937 | mié 07 sep 2022 12:13:32 | root | 88,68 MiB | number | | important=yes
        1946 | pre | | vie 09 sep 2022 12:22:15 | root | 2,47 MiB | number | zypp(ruby.ruby2.5) | important=yes
        1947 | post | 1946 | vie 09 sep 2022 12:24:16 | root | 134,37 MiB | number | | important=yes
        1975 | pre | | lun 19 sep 2022 11:24:54 | root | 574,61 MiB | number | zypp(packagekitd) | important=yes
        1976 | post | 1975 | lun 19 sep 2022 11:33:43 | root | 179,00 MiB | number | | important=yes
        1987 | pre | | sáb 01 oct 2022 11:42:45 | root | 3,19 MiB | number | zypp(packagekitd) | important=no
        1988 | post | 1987 | sáb 01 oct 2022 11:43:05 | root | 5,07 MiB | number | | important=no
        1989 | pre | | sáb 01 oct 2022 11:43:42 | root | 112,00 KiB | number | yast bootloader |
        1990 | post | 1989 | sáb 01 oct 2022 11:44:47 | root | 384,00 KiB | number | |
        1991 | pre | | dom 02 oct 2022 13:12:11 | root | 576,00 KiB | number | yast repositories |
        1992 | post | 1991 | dom 02 oct 2022 13:13:11 | root | 528,00 KiB | number | |
        krovikan@Linux:~/Descargas> exit
        exit

        y eso sí que ha funcionado. Muy curioso en bash y un engorro en fish si tienes la combinación pillada (sé que es cuestión de cambiarla, pero llevo años con eso para xscreensaver).

        Saludos

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.