Todo comenzó con un simple
alias gv='gvim --remote-quiet'
y ahora gv
Space Tabno da nada donde normalmente debería dar nombres de archivo. Extrañamente,
alias gvi='gvim --remote-quiet'
Funciona como se esperaba. Claramente tengo una solución, pero me gustaría saber qué es lo que me atrapa gv
para un procesamiento especial. compopt
no es de ayuda ya que gv
comparte la misma configuración ls
que la que completa correctamente el nombre de archivo.
$compopt gv
compopt +o bashdefault +o default +o dirnames -o filenames +o nospace +o plusdirs gv
$ compopt ls
compopt +o bashdefault +o default +o dirnames -o filenames +o nospace +o plusdirs ls
El complete
comando es un poco más útil, pero no me dice por qué mis dos personajes fueron seleccionados por alteración:
$ complete -p gv
complete -o filenames -F _filedir_xspec gv
$ complete -p ls
complete -o filenames -F _longopt ls
$ complete -p echo
bash: complete: echo: no completion specification
$ alias gvi='gvim --remote-silent'
$ complete -p gvi
bash: complete: gvi: no completion specification
¿De donde complete -o filenames -F _filedir_xpec gv
vino?
bash
autocomplete
msw
fuente
fuente
Respuestas:
Lo tengo, finalmente. Estaba escondido en lo
/etc/bash_completions
que, irónicamente, pasé por alto ya que no aparecía en las finalizaciones de mi nombre de archivo.El útil bash_completions cree que eso
gv
significaghostview
que solo me permitirá completar los nombres de archivo que espera que ghostview pueda manejar:Creo que eso cuenta como "demasiado útil". Agregando
para mi
~/.bash_aliases
archivo fue suficiente.fuente