Ayer copiaste la foto de la fachada a la carpeta de editadas con un comando largo, y hoy quieres repetirlo. ↑ lo encuentra, si tienes paciencia para pasar por los veinte comandos que vinieron después. Hay una forma mejor: la terminal recuerda todo lo que escribiste, y se le puede preguntar.
Todo queda anotado
Lo que hiciste ayer, tal cual, con sus números:
$ history 1 cd ~/Documents 2 ls 3 cd barbería\ la\ esquina/ 4 ls 5 more menú\ de\ precios.txt 6 cd fotos\ del\ local/ 7 ls 8 ls sillón\ 1.jpg 9 cd .. 10 mkdir fotos\ editadas 11 cp fotos\ del\ local/fachada.jpg fotos\ editadas/ 12 ls fotos\ editadas
Ahí está el de la fachada, el número 11. Y ahí está el problema: leer una lista para encontrar una línea.
$ h Id CommandLine -- ----------- 1 cd 'barbería la esquina' 2 ls 3 more 'menú de precios.txt' 4 cd 'fotos del local' 5 ls 6 cd .. 7 mkdir 'fotos editadas' 8 cp 'fotos del local\fachada.jpg' 'fotos editadas\' 9 ls 'fotos editadas'
Ahí está el de la fachada, el número 8. Y ahí está el problema: leer una lista para encontrar una línea.
La terminal guarda cada comando que ejecutas, en Mac y en Windows, y esa memoria sobrevive al cierre de la ventana porque es un archivo de texto más, escondido en tu carpeta de casa (.zsh_history en Mac, ConsoleHost_history.txt en Windows). Ya lo viste en tus primeros comandos como curiosidad; ahora es una herramienta: todo lo que te funcionó una vez está ahí, escrito bien, esperando. Lo que falta es una forma de pedirlo sin leer la lista.
En PowerShell, h lista solo la sesión actual; lo de ayer está en el archivo, y lo tienen ↑ y la búsqueda que viene. En PowerShell 7 la tabla trae una columna más, Duration, con lo que tardó cada comando.
Ctrl+R: búscalo por un pedazo
Tres letras de cualquier parte del comando bastan:
$ cp fotos\ del\ local/fachada.jpg fotos\ editadas/$ ls fotos\ editadasfachada.jpg
Tres letras y Enter. Si la que aparece no es, otro Ctrl+R sigue buscando hacia atrás; Ctrl+C cancela.
$ cp 'fotos del local\fachada.jpg' 'fotos editadas\'$ ls 'fotos editadas'
Tres letras y Enter. Si la que aparece no es, otro Ctrl+R sigue buscando hacia atrás; Esc sale de la búsqueda.
La búsqueda es incremental: con cada letra que agregas, la terminal te enseña la mejor coincidencia hasta ese momento, y con el pedazo que recuerdes alcanza, sea el nombre de la foto, la carpeta o el comando. Este es el atajo que separa a quien «sabe algo de terminal» de quien vive en ella, y es el más fácil de convertir en hábito: cada vez que vayas a presionar ↑ más de tres veces, Ctrl+R.
Habrás visto terminales que sugieren en gris el resto del comando mientras escribes. En Mac eso no viene de fábrica; es un añadido que se instala, y lo dejamos para cuando ya vivas en la terminal.
Si tu PowerShell es la versión 7, verás en gris cómo te sugiere el resto del comando mientras escribes: es su predicción a partir de tu historial. Escribe cp; si la sugerencia es la que querías, → la acepta, y F2 la cambia a una lista para elegir. En Windows PowerShell 5, el que trae Windows, esa sugerencia no existe; Ctrl+R sí, y hace el mismo trabajo.
Aquí el mouse no tiene nada que ofrecer: no existe un historial de clics que se pueda buscar. Lo que sí existe es copiar un comando de una nota o de un chat, y pegarlo. De eso, y de cómo pegar sin miedo, va la última parada.
