- Técnicas de navegación y edición rápida para evitar el uso excesivo de las flechas y el retroceso.
- Métodos avanzados de búsqueda y repetición de comandos mediante el historial de Bash.
- Gestión eficiente de procesos en primer y segundo plano y control de la salida de la terminal.
Si alguna vez has sentido que pasas más tiempo peleándote con el teclado que escribiendo código, no estás solo. Muchos de nosotros empezamos en la terminal de Linux escribiendo todo a mano, borrando letra por letra y haciendo malabares con las flechas del teclado, sin saber que existe todo un universo de atajos de teclado diseñados para que volemos sobre la línea de comandos.
Dominar Bash no se trata solo de conocer los comandos, sino de saber manipular la entrada de texto con agilidad. Pasar de ser un novato a un usuario avanzado implica dejar de usar el ratón y empezar a aprovechar las capacidades de edición tipo Emacs que vienen integradas por defecto, lo que supone un ahorro de tiempo brutal y, sobre todo, menos frustración al corregir esos errores tipográficos tan comunes.
Desplazamientos rápidos por la línea de comandos

Mover el cursor letra a letra es una pérdida de tiempo total. Para saltar directamente al inicio de la línea, lo más sencillo es pulsar Ctrl + A, mientras que si necesitas irte disparado al final del comando, la tecla es Ctrl + E. Esta combinación es básica para cualquiera que maneje rutas de archivos larguísimas.
Si necesitas moverte con más precisión pero sin ir letra a letra, puedes saltar palabras completas. Usamos Alt + B (o Esc seguido de la flecha izquierda) para retroceder una palabra, y Alt + F (o Esc más flecha derecha) para avanzar. Además, existe un truco muy cómodo: Ctrl + X seguido de Ctrl + X permite alternar el cursor entre la posición actual y el principio de la línea, ideal para hacer ajustes rápidos al inicio y volver al punto donde estabas.
Trucos de edición y borrado quirúrgico

A veces cometemos un error y queremos borrarlo todo sin tener que machacar la tecla de retroceso. Para limpiar todo lo que hay desde el cursor hacia atrás, utilizamos Ctrl + U. Por el contrario, si queremos eliminar todo lo que sigue al cursor hasta el final de la línea, Ctrl + K es la herramienta perfecta.
Para borrados más específicos, Ctrl + W elimina la palabra anterior usando el espacio como separador, mientras que Alt + Backspace es más preciso, ya que borra la palabra basándose en caracteres no alfanuméricos. Si te has equivocado en una sola letra, Ctrl + T permite intercambiar el carácter actual con el anterior, solucionando errores tipográficos en un segundo. Para mover palabras enteras, Alt + T intercambia la palabra actual con la precedente.
No podemos olvidar la gestión de mayúsculas y minúsculas. Alt + U convierte en mayúsculas desde el cursor hasta el final de la palabra, Alt + L lo hace todo en minúsculas y Alt + C pone la primera letra en mayúscula y mueve el cursor al final. Si has hecho un desastre editando, Ctrl + _ (normalmente Ctrl + Shift + -) sirve para deshacer el último cambio, y Alt + R revierte toda la línea a su estado original.
Dominando el historial y la repetición de comandos

Buscar comandos antiguos es una de las tareas más frecuentes. En lugar de pulsar la flecha arriba cien veces, lo más inteligente es usar Ctrl + R para realizar una búsqueda inversa en el historial. Basta con escribir una parte del comando y Bash encontrará la última coincidencia. Si quieres seguir buscando coincidencias más antiguas, vuelve a pulsar Ctrl + R. Para salir de este modo de búsqueda sin ejecutar nada, usa Ctrl + G.
Existen formas muy rápidas de repetir tareas. El comando !! ejecuta exactamente lo último que escribiste (muy útil cuando olvidas poner sudo delante de un comando). Si solo necesitas el último argumento del comando anterior, puedes usar !$ o Alt + ., evitando así tener que copiar y pegar rutas complejas.
Para los más exigentes, existen expansiones avanzadas: !* repite todos los argumentos del último comando, y la sintaxis ^viejo^nuevo permite ejecutar el comando anterior sustituyendo una palabra por otra. Si quieres ver qué comando se va a ejecutar antes de lanzarlo, !:p imprimirá el último comando en pantalla sin ejecutarlo.
Control de procesos y gestión de la terminal
Cuando un programa se queda colgado o simplemente queremos detenerlo, Ctrl + C envía una señal de interrupción (SIGINT) para matar el proceso actual. Si, por el contrario, no queremos cerrar el programa sino ponerlo en pausa para hacer otra cosa, usamos Ctrl + Z. Esto suspende la tarea y nos devuelve el prompt; luego podemos reanudarla en segundo plano con bg o traerla al frente con fg.
La gestión de la pantalla es sencilla: Ctrl + L limpia la terminal instantáneamente, funcionando igual que el comando clear. Algo curioso y a veces problemático es Ctrl + S, que detiene la salida de texto en pantalla (parece que la terminal se haya congelado), y Ctrl + Q, que es la tecla necesaria para reanudar la visualización del output.
Finalmente, el autocompletado con la tecla Tab es el mejor amigo del usuario de Bash. Pulsar una vez completa el nombre si es único, y pulsar dos veces muestra todas las opciones disponibles. Para cerrar la sesión actual o enviar un marcador de fin de archivo (EOF), Ctrl + D es la opción estándar.
Consideraciones sobre el portapapeles y teclas especiales
Es importante diferenciar entre lo que hace Bash y lo que hace el emulador de terminal (como Kitty o Alacritty). Por ejemplo, Ctrl + V en muchos emuladores pega el contenido del portapapeles del sistema, pero en Bash puro, Ctrl + V sirve para insertar el siguiente carácter literalmente. Si pulsas Ctrl + V y luego Enter, verás que aparece ^M en lugar de saltar de línea.
El comando Ctrl + Y (yank) es interno de Bash y sirve para pegar el texto que hemos cortado previamente con Ctrl + U, Ctrl + K o Ctrl + W. Ten en cuenta que este es un portapapeles interno de la shell y es totalmente independiente del portapapeles general de tu sistema operativo.
Integrar estas herramientas en el día a día permite que la interacción con el sistema sea mucho más fluida, transformando la terminal en una extensión natural de nuestro pensamiento al permitirnos editar, buscar y controlar procesos sin despegar las manos de la posición de escritura, optimizando cada segundo de nuestra jornada laboral.

