Vim:从bash脚本检索结果的自定义选项卡完成

Vim:从bash脚本检索结果的自定义选项卡完成,vim,tab-completion,Vim,Tab Completion,我写了一个bash脚本,可以为任何单词找到押韵。我想能够完成这个脚本的结果 我想这在vimscript中是可能的。基本步骤是查看当前行上方的行,将该行作为参数传递,然后可能通过某个插件显示tab completion视图,并显示脚本返回的结果 我以前写过一些vim脚本,但我不知道从哪里开始执行bash脚本或打开tab completion菜单。有人知道这是怎么可能的吗?您可以为此使用和。下面是一个密钥映射示例 inoremap <expr> <c-x><c-k>

我写了一个bash脚本,可以为任何单词找到押韵。我想能够完成这个脚本的结果

我想这在vimscript中是可能的。基本步骤是查看当前行上方的行,将该行作为参数传递,然后可能通过某个插件显示tab completion视图,并显示脚本返回的结果

我以前写过一些vim脚本,但我不知道从哪里开始执行bash脚本或打开tab completion菜单。有人知道这是怎么可能的吗?

您可以为此使用和。下面是一个密钥映射示例

inoremap <expr> <c-x><c-k> fzf#complete('./script.sh ' . getline(line(".")-1))
FZFComlete可以运行脚本并打开包含该脚本输出的菜单。您可以模糊搜索输出或使用箭头键选择条目。所选条目被插入到vim缓冲区中

getlineline.-1将当前行上方的行传递给名为script.sh的脚本


这并不完全像你要求的那样完成制表符,但它也有同样的目的,而且还可以通过脚本中的结果进行模糊搜索。

如果你解释如何找到押韵的逻辑,那么就很容易分析了。我想你在每一行的末尾都能找到它们。是吗?是的,bash脚本实际上只是一个ruby脚本,它可以接受任何字符串,然后返回押韵的单词列表。理想情况下,这个vimscript会将光标上方的行发送给bash脚本,然后显示带有结果的制表符完成列表。如果还有其他人,进来回答这个问题的制表符完成部分,我很乐意再给你一笔赏金。很抱歉,我花了几天时间才得到这个答案——我已经过了最后期限。不过,他妈的很酷。我现在将对它进行投票,再给它几天时间,看看是否有人可以回答制表符完成部分,因为我认为这需要一个规范的答案。如果tab完成答案未通过,您将获得接受答案/奖金。