zsh补全功能,例如_describe
或_arguments
可以在其建议中添加描述:
prompt% function _myfun() {thingstodo=('one:do one thing' 'nope:do nothing'); _describe 'possible things to do' thingstodo}
prompt% compdef _myfun myfun
prompt% myfun⇥
things to do:
nothing -- do nothing
one -- do one thing
如果补全明确,则不会显示这些描述,而是插入唯一可能的补全
prompt% myfun o⇥
结果是
prompt% myfun one
(后面插入一个空格one
,光标位于行尾)。
有没有办法 - 作为触发完成的用户 - 无论如何都能看到描述?例如,对于我想知道“唯一的选择,它又在做什么?”的情况。所以我并不是真的想操纵完成函数本身,而是想在全局范围内拥有一些东西。我想这可能是一个手动触发的 zle 小部件(可能将光标移动到不同的位置或在需要时再次删除建议)。或者也许是 zstyle?
答案1
使用list-choices
小部件。默认情况下,它绑定到 Ctrl-D(vi 模式)和 Meta-Ctrl-D(emacs 模式)。
奥利弗