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

Vim: Custom tab complete that retrieves results from a bash script

我写了一个 bash 脚本,可以找到任何单词的押韵。我希望能够使用 Tab 键完成此脚本的结果。

我想这可以通过 vim脚本实现。基本步骤是查看当前行上方的行,将该行作为参数传递,然后显示选项卡完成视图(可能通过某些插件)并显示从脚本返回的结果。

我以前写过一些 vim 脚本,但我不太清楚从哪里开始执行 bash 脚本或打开选项卡完成菜单。有谁知道这怎么可能?

您可以为此使用 fzf and fzf.vim。这是一个示例键映射。

inoremap <expr> <c-x><c-k> fzf#complete('./script.sh ' . getline(line(".")-1))

fzf#complete 可以 运行 脚本并打开包含该脚本输出的菜单。您可以模糊搜索输出或使用箭头键 select 一个条目。所选条目被插入 vim 缓冲区。

getline(line(".")-1) 将当前行上方的行传递给名为 script.sh.

的脚本

这并不完全像您所要求的那样完成制表符,但它的用途相同,并且还对您脚本的结果进行模糊搜索。