Tú quieres:
inserción-terminaciones
ALT* para 'insertar todas las terminaciones'
Con esto, un directorio que contiene el nombre de los archivos 'aa ab ac ad'
ls a*
seguido de alt + *
completaría parals aa ab ac ad
Entrada de página de manual sobre enlace:
inserción-terminaciones (M- *)
Inserte todas las terminaciones del texto antes del punto que habría sido generado por las posibles terminaciones.
glob-expand-word
En algunos sistemas, lo anterior no funcionará con caracteres comodín, lo siguiente sí funciona en dichos sistemas para mí:
ctrlx, *(un combo de dos tiempos)
Ejemplo: completé un directorio con:
touch {a,b,c,d,e,f}{1,2,3,4,5,6,7,8,9,0}00{a,b,c,d,f,e}
Luego lo ls *100*
seguí ctrl + x, *
, lo que convierte mi readline en:
ls a100a a100b a100c a100d a100e a100f b100a b100b b100c b100d b100e b100f c100a c100b c100c c100d c100e c100f d100a d100b d100c d100d d100e d100f e100a e100b e100c e100d e100e e100f f100a f100b f100c f100d f100e f100f
Entrada de página de manual para enlace:
palabra de expansión global (Cx *)
La palabra anterior al punto se trata como un patrón para la expansión del nombre de ruta y se inserta la lista de nombres de archivo coincidentes, reemplazando la palabra. Si se proporciona un argumento numérico, se agrega un '*' antes de la expansión del nombre de ruta.
Página de hombre
touch aa ab ac ad
y escribirls a
seguido dealt+*
da la lista, pero hacerlo conls a*
no. Los comodines son el punto de la pregunta.GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
yGNU bash, version 4.2.0(1)-release (x86_64--netbsd)
noGNU bash, version 4.2.45(2)-release (i386-apple-darwin12.2.0)
. Y por trabajado, quiero decir que se archivó en el texto. Verificará mis archivos conf para ver si tengo algo extra.GNU bash, version 4.2.37(1)-release (arm-unknown-linux-gnueabihf)
(raspbian)Intente agregar esto a ~ / .inputrc:
show-all-if-ambiguous hace que presionar la tecla una vez (en lugar de dos veces) enumere todas las finalizaciones. También hace que la primera pestaña presione insertar prefijos compartidos de expresiones globales.
glob-complete-word (\ eg) también completaría
*0
(sin*
al final) a1.0.
. También completa por ejemplo/System/Library/Launch*/*Finde
a/System/Library/LaunchAgents/com.apple.Finder.plist
.Si quería convertir
*
a1.0.1 1.0.2
en el ejemplo anterior, utilizar cualquiera de insert-terminaciones (\ e *) o Glob-expand-palabra (\ Cx *).fuente
Este problema es causado por errores en el paquete "bash-complete".
Cuando el paquete no está instalado, bash realiza su finalización predeterminada, este es un motor de finalización de nombre de archivo generalizado bastante bueno.
Se supone que el paquete "bash-complete" debe mirar el resto de la línea y ser "inteligente" sobre las listas que genera. Sin embargo, no puede duplicar con éxito la expansión "glob".
Personalmente, creo que el paquete se está esforzando demasiado y termina siendo utilizable solo por el "usuario común más tonto".
Sin embargo, antes de eliminarlo, es posible que desee comprobar la parte superior del archivo "/ usr / share / bash-completar / bash_completion" para obtener adiciones útiles a su .bashrc para 'ajuste bruto' de la finalización de bash incorporada.
Por cierto: tiene más de cien errores registrados ... https://bugs.debian.org/cgi-bin/pkgreport.cgi?package=bash-completion
fuente