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