Tudo começou com um simples
alias gv='gvim --remote-quiet'
e agora gv
Space Tabnão dá nada onde normalmente deveria dar nomes de arquivos. Estranhamente,
alias gvi='gvim --remote-quiet'
funciona como esperado. Eu tenho claramente uma solução alternativa, mas gostaria de saber o que está pegando no meu gv
processamento especial. compopt
não ajuda, pois gv
compartilha as mesmas configurações ls
que completam o nome do arquivo corretamente.
$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
O complete
comando é um pouco mais útil, mas não me diz por que meus dois personagens foram escolhidos para alteração:
$ 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 onde complete -o filenames -F _filedir_xpec gv
veio?
bash
autocomplete
msw
fonte
fonte
Respostas:
Eu entendi finalmente. Estava escondido no
/etc/bash_completions
qual - ironicamente - eu esqueci, pois não apareceu nas conclusões do meu nome de arquivo.O útil bash_completions acha que isso
gv
significa,ghostview
portanto, ele só permitirá que eu complete nomes de arquivos que espera que o ghostview possa manipular:Eu acho que isso conta como "muito útil". Adicionando
para o meu
~/.bash_aliases
arquivo foi suficiente.fonte