Quero que o firefox
comando tenha a tecla Tab-completar padrão para que eu possa usá-lo para abrir facilmente qualquer arquivo/pasta na pasta atual, não apenas aqueles correspondentes @(?([xs])htm?(l)|pdf|txt)
(é uma expressão regular de /usr/share/bash-completion/completions/firefox
). Por exemplo, eu abro arquivos Markdown (ex.: Readme.md
) no Firefox porque tenho um plugin que os renderiza bem.
Há muitas perguntas sobre isso na rede Stack Exchange, e alguns sugerem, com razão complete -r firefox
, , mas isso parece funcionar apenas temporariamente. Alguns pseudo-bash:
$ ls
foo.txt Readme.md bar.adoc
$ firefox <TAB> # only completes foo.txt
$ complete -p firefox
complete -F _firefox firefox
$ complete -r firefox # try to disable it
$ complete -p firefox
bash: complete: firefox: no completion specification
$ firefox <TAB> # only completes foo.txt
$ complete -p firefox
complete -F _firefox firefox # it's baaaaack!
$ complete -r
$ firefox <TAB> # completes all 3 files
A última complete -r
opção funciona, mas não quero ser tão pesado. Quero manter as funções especiais completas para outros comandos.
Se eu não conseguir remover cirurgicamente a firefox
conclusão de tabulação personalizada do meu arquivo ~/.bashrc
, acho que a próxima coisa que tentarei será excluí-lo manualmente /usr/share/bash-completion/completions/firefox
(e alguns outros que mencionam o Firefox). Gostaria de evitar mexer nos arquivos do bash-completion
pacote, se possível.
Estou usando o Bash padrão (v5.1.16) que vem com o Ubuntu 22.04. Estou usando o gnome-terminal, caso seja necessário.
Crie um
~/.local/share/bash-completion/completions/firefox
(oufirefox.bash
), que deve definir algum tipo de conclusão personalizada usandocomplete
.Por exemplo, o arquivo deve ter no mínimo:
para preenchimento básico de arquivos.
Você também pode definir diretamente
complete -f firefox
no seu ~/.bashrc, e parece que isso impedirá que o bash-completion carregue automaticamente as conclusões.