我一直在寻找,但找不到明确的方法来做到这一点:
略显做作的示例以隐藏细节:假设我想使用打开它们的命令自动完成 tmux 会话名称。
因此说tmux-open $NAME
打开所述 tmux 会话,并tmux-ls
列出所有可能的会话名称(以换行符分隔)。
如何配置 zsh 以便tmux-open <TAB>
使用可能的会话列表自动完成tmux-ls
。
答案1
搞清楚了。这很简单,所以很多指南似乎都跳过了这样的内容,而转向更复杂的东西。在~/.zshrc
:
function _tmux_completions() {
local -a sessions
sessions=($(tmux-ls))
compadd -a sessions
}
compdef _tmux_completions tmux-open