Al cerrar el primer sendero ya te movías por tus carpetas y hasta tenías un comando con tu nombre. Este sendero es más corto y más físico: diez atajos de teclado que uso todos los días, uno por cada dolor. Empieza por el más frecuente, escribir una ruta a mano. El proyecto que nos acompaña es la carpeta de la barbería de la esquina, en Documentos (que por dentro se llama Documents), con las fotos del local y el menú de precios. Nombres con espacios y tildes, como los pone cualquier persona.
La ruta que duele
Entras a la carpeta como la escribirías en un mensaje:
$ lsbarbería la esquina$ cd barbería la esquinacd: too many arguments
Tres palabras, y la terminal entendió tres cosas distintas.
Para la terminal, el espacio separa argumentos. «barbería la esquina» son tres nombres, y cd solo espera uno (en PowerShell la queja es otra, más larga, pero el problema es el mismo). La forma correcta lleva una barra invertida antes de cada espacio, barbería\ la\ esquina, y encima está la tilde, que en muchos teclados hay que pulsar dos veces. Nadie quiere escribir eso. Y nadie tiene que hacerlo: para esto existe Tab.
Tab: dos letras y confirmar
Lo mismo, dejando que la terminal escriba:
- Doble clic en «barbería la esquina»
- Doble clic en «fotos del local»
$ cd barbería\ la\ esquina/$ lsfotos del localmenú de precios.txtsobre la barbería.txt$ cd fotos\ del\ local/$ lsbarba y toalla caliente.jpgcorte clásico.jpgdegradado.jpgfachada.jpgsillón 1.jpgsillón 2.jpg
Dos letras, Tab, y las barras, los espacios y la tilde los puso la terminal.
- Doble clic en «barbería la esquina»
- Doble clic en «fotos del local»
$ cd '.\barbería la esquina\'$ cd '.\fotos del local\'
Dos letras, Tab, y las comillas, los espacios y la tilde los puso PowerShell.
La regla: escribe las primeras letras y presiona Tab. Si solo hay un nombre que empiece así, la terminal lo completa entero, con la barra final si es una carpeta. Ya lo habías visto con Documentos en tus primeros 10 comandos; la diferencia es que aquí Tab también resuelve lo feo. Cada \ que ves en Mac es la terminal diciendo «este espacio es parte del nombre», y las comillas de Windows dicen lo mismo. Tú no lo escribes, y no te equivocas, porque el nombre lo pone quien lo conoce de verdad.
Cuando hay más de una
Dos fotos empiezan igual:
$ ls sillón\ 1.jpgsillón 1.jpg
El primer Tab completa lo que las dos comparten; el segundo te enseña las opciones.
$ ls '.\sillón 1.jpg'
Tab pone una candidata tras otra; Shift+Tab vuelve a la anterior.
Cuando Tab se detiene no falló: llegó hasta donde los nombres coinciden y espera que decidas. En Mac, un Tab más muestra la lista, y a partir de ahí cada Tab va tomando una opción por turno; cuando aparece la que querías, das Enter o sigues escribiendo. Es la misma tecla con dos respuestas: completa si puede, pregunta si no. Y completa comandos igual que nombres de archivos: whoa y Tab te dan whoami entero (en Windows, whoami.exe, el mismo programa con apellido).
En Windows, Tab no muestra la lista, pero la lista existe y tiene otra tecla: Ctrl+Espacio abre un menú con todas las opciones para elegir con las flechas. Si te acostumbras a Tab a secas, nunca ves las opciones que descartaste; con el menú, sí.
Arrastra la carpeta a la ventana
Cuando la carpeta está lejos, ni siquiera hacen falta las dos letras:
$ ls /Users/ana/Documents/barbería\ la\ esquina/fotos\ del\ localbarba y toalla caliente.jpgcorte clásico.jpgdegradado.jpgfachada.jpgsillón 1.jpgsillón 2.jpg
La ruta completa, desde tu carpeta de casa, con cada espacio protegido. Sin escribir una letra.
$ ls "C:\Users\ana\Documents\barbería la esquina\fotos del local"
La ruta completa, entre comillas para proteger los espacios. Sin escribir una letra.
Es el puente más simple entre las dos ventanas: buscas la carpeta como siempre, con el Finder o el Explorador, y la terminal se encarga de deletrearla. Funciona también con archivos, y es la forma más rápida de darle a un comando algo que está en otro disco o en el escritorio. Lo único que tienes que recordar es el espacio después del comando, antes de soltar. Si ya estás dentro de la carpeta, Tab sigue siendo más rápido; arrastrar gana cuando lo que buscas está en otra parte.
Flecha arriba, otra vez
Y el atajo que más vas a usar en tu vida, para no reescribir nada:
- No hay forma de repetir con el mouse
$ ls fotos\ del\ local/fachada.jpgfotos del local/fachada.jpg$ ls fotos\ del\ local/fachada.jpgfotos del local/fachada.jpg
↑ recorre lo que ya escribiste, de lo más reciente hacia atrás; ↓ vuelve.
Lo conociste en el primer sendero y ahora tiene un uso nuevo: traer un comando largo para cambiarle una sola cosa, que es el tema de la tercera parada. Mientras tanto, la costumbre que vale la pena: antes de escribir un comando que ya escribiste, ↑.
Seamos justos con el mouse. Para entrar a una carpeta, el doble clic empata con Tab, y si la carpeta está en la barra lateral del Finder, gana. Tab gana cuando la ruta tiene que ir dentro de un comando, y ↑ gana siempre, porque con el mouse no hay forma de repetir lo que hiciste hace un minuto.
Tres teclas que escriben por ti. En la próxima parada, las que te sacan de cualquier lado sin cerrar la ventana.
