Eu experimentei isso em OS X
shell zsh
, página de manual para open .
$ type open
open is /usr/bin/open
$ man open
OPEN(1) General Commands
Manual OPEN(1)
NAME
open – open files and directories
Quando digito open
e digito tab, vejo a seguinte saída:
$ open
file: ftp:// gopher:// http:// https://
Eu nunca tento abrir nenhum dos file:
, ftp://
, gopher://
, http://
, https://
, portanto, só quero suprimi-los. É possível suprimi-los e ver apenas os nomes dos arquivos/pastas.
De acordo com sua saída,
open
é um executável em seu sistema OS X.Portanto, para modificar sua sintaxe de conclusão, você precisa descobrir onde a função de conclusão reside e modificá-la (não consegui descobrir como remover coisas das listas de conclusão de qualquer maneira comparável em complexidade a apenas modificar a função existente).
Use
whence -v $_comps[open]
para descobrir onde a função de conclusão paraopen
está definida. Copie esse arquivo em algum lugar onde você possa encontrá-lo, digamos /home/alper/bin/open_completion.zsh.Lá, procure a linha que chama a
_urls
função (que por acaso é a função de argumento de conclusão que oferecefile: ftp:// gopher:// http:// https://
). Pode parecer algo como'*:URL:_urls'
em uma lista de argumentos viáveis.Você pode remover essa declaração.
Em seguida, adicione essa função a ser carregada em seu zshrc.