Ao solicitar uma conclusão pressionando Tab na linha de comando zsh, as correspondências podem ser agrupadas de acordo com sua tag, desde que o group-name
estilo seja definido como uma string vazia:
autoload -Uz compinit
compinit
zstyle ':completion:*' menu select
zstyle ':completion:*' group-name ''
zstyle ':completion:*:descriptions' format '%d'
No caso do $ man
comando, as correspondências podem ser divididas ainda mais se o separate-sections
estilo for definido como true
para a manuals
tag:
autoload -Uz compinit
compinit
zstyle ':completion:*' menu select
zstyle ':completion:*' group-name ''
zstyle ':completion:*:descriptions' format '%d'
zstyle ':completion:*:manuals' separate-sections true
Como resultado, se eu pressionar Tab após $ man write
, o sistema de conclusão sugere estas correspondências:
$ man write
manual page, section 1 (general commands)
write
manual page, section 2 (system calls)
write writev
E se eu selecionar a write
correspondência na primeira lista, $ man
abre a write
página na primeira seção do manual.
Mas se eu selecionar a write
correspondência na segunda lista, $ man
ainda abre a write
página na primeira seção, enquanto a descrição da lista menciona a segunda seção do manual.
É possível fazer o zsh passar a seção do manual relevante para o comando man quando o separate-sections
estilo é definido?
estou usando zsh 5.6.2-dev-0 (x86_64-pc-linux-gnu)
.
Você precisa adicionar simplesmente o seguinte:
Infelizmente, isso não está documentado, mas você pode ver aqui no código: https://github.com/zsh-users/zsh/blob/8becb893579af0ca41617a15d3afcbea588fe621/Completion/Unix/Command/_man#L448
Testei e funciona.