我为tmux编写了几个zsh函数。我正在尝试为其中一些功能添加自动补全功能,但遇到麻烦了。
这些功能之一是tk
,是tmux kill-session
的简写。此功能使用要杀死的会话的名称,如果未提供会话名称,则会退回到当前会话。
这是我的功能:
function tk {
if [ $# -ne 0 ]; then
tmux kill-session -t $1
else
tmux kill-session
fi
}
我还编写了一个active_tmux_sessions
函数,该函数已在其他一些地方使用:
function active_tmux_sessions {
tmux ls -F "#{session_name}" 2>/dev/null | cut -d: -f1
}
这就是我将它们粘合在一起的方法。
function _tk() {
compadd $(active_tmux_sesions)
}
compdef _tk tk
当我输入tk <tab>
时,出现此错误:
tk _tk:1: command not found: active_tmux_sesions
_tk:1: command not found: active_tmux_sesions
_tk:1: command not found: active_tmux_sesions