Antes de mais nada, o preenchimento automático do Bash simplesmente lê o que você coloca na linha de comando sem resolver aliases. Se você colocar o nome do comando, ele lerá o nome do comando. Se você colocar um alias, então ele lê o alias. Então, no que diz respeito à conclusão, gv
não tem nada a ver com gvim
no seu caso. De fato, gv
é um nome definido no script bash-completion como:
_install_xspec '!*.@(@(?(e)ps|?(E)PS|pdf|PDF)?(.gz|.GZ|.bz2|.BZ2|.Z))' gv ggv kghostview
complete -F _filedir_xspec gv
Então, basicamente, ele só combina arquivos ps e pdf não compactados e compactados.
AFAIK você tem 2 maneiras de lidar com isso:
-
Defina a conclusão do alias para gv
para uma função diferente. Por exemplo, _longopt
funciona no seu caso:
complete -F _longopt gv
-
Escreva uma função de conclusão de alias genérica e use-a em gv
. Felizmente, alguém fez isso por você: link