GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo hacer que la terminal se complete automáticamente cuando hay varios archivos/directorio?

Si tengo varios directorios, como:

afoo abar

a veces, mi terminal rechazará la función de autocompletar cuando presiono la pestaña (por ejemplo, "cd a" y luego la pestaña), e imprimirá la lista de directorios en su lugar. A veces incluso emite un sonido ruidoso y molesto. ¿Alguna idea de cómo hacer que se complete automáticamente en casos como este? Por ejemplo, puede mostrar abar primero y luego afoo si presiono tabulador nuevamente. Vi que este es el caso en Windows, o alguna aplicación en Ubuntu

Mejor respuesta

Algo que me salva la vida es hacer que bash recorra las posibilidades en lugar de mostrar una lista tonta.

Como bash está usando readline para su finalización automática, agregue las siguientes líneas a ~/.inputrc

Una vez que esté satisfecho y haya probado minuciosamente la siguiente solución durante unos días/semanas, corte y pegue (¡no copie!) la misma configuración de ~/.inputrc a /etc/inputrc que contiene la configuración de todo el sistema, lo que hace que esté disponible para todos los usuarios de su sistema (incluido el invitado).

El código:

# mappings to have up and down arrow searching through history:
"e[A": history-search-backward
"e[B": history-search-forward
# mappings to have left and right arrow go left and right: 
"e[C": forward-char
"e[D": backward-char

# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"t": menu-complete
"e[Z": menu-complete-backward

luego exit su terminal (o terminal remoto como PuTTY) y ábralo de nuevo...

Ejemplos:

  1. Cuando tienes 3 archivos:file1 , file2 y file3 y escribes:

    e fTabTabTab

    recorrerá:

    e file1
    e file2
    e file3
    

    y cuando quiera retroceder, simplemente presione Shift +Tab

  2. Cuando escribes:

    very-complicated-command with lots of command line parameters
    

    y la próxima vez que necesite el mismo comando, simplemente escriba:

    very

    y te escribirá:

    very-complicated-command with lots of command line parameters
    

¡Esto te ahorrará un montón de tiempo en bash! 😉


Ubuntu
  1. ¿Cómo personalizar Bash Autocompletar para enumerar los archivos en otro directorio?

  2. ¿Cómo enumerar los tamaños de archivos recursivos de archivos y directorios en un directorio?

  3. ¿Cómo ocultar la salida del terminal al ejecutar un comando?

  4. ¿Hacer que Ctrl+t abra una nueva pestaña (cromada) cuando esté fuera de Chrome?

  5. ¿Cómo iniciar la terminal con el directorio de trabajo actual como "inicio" en lugar de la "raíz" predeterminada?

Cómo contar archivos en el directorio en Linux

Cómo descargar archivos usando la línea de comandos en Ubuntu Terminal

Cómo extraer archivos a una carpeta en particular en Linux

Cómo hacer visibles los asteriscos de contraseña en la terminal de Ubuntu

Cómo mostrar archivos gif en Ubuntu Terminal

Cómo eliminar archivos y directorios en la terminal de Linux