我已经处理这个问题将近一个月了,我感到很沮丧,任何帮助将不胜感激。
我正在尝试为我的takenote
命令编写一个小部件。小部件的目的是将文件~/notes
夹中fzf
的所有降价文件提供给用户,以便用户可以选择其中一个并开始编辑它。在用户键入takenote
并按下后,<tab>
我希望小部件能够运行。
这是_takenote.zsh
小部件定义:
#compdef takenote
local file=$( find -L "$HOME/notes/" -print 2> /dev/null | fzf-tmux +m )
zle reset-prompt
compadd $file
return 1
不幸的是,上面的代码不起作用,因为zle reset-prompt
如果我删除它,结果将是这样的:
选择文件后,它会变成:
如您所见,这会破坏提示和命令本身。在我看来,我需要做的是zle reset-prompt
在调用之前做一个,compadd
但这只有在我将函数绑定到一个键时才有效,否则,我将收到以下错误:
小部件只能在 ZLE 处于活动状态时调用