为Vim命令设置多个值-complete属性

时间:2014-02-01 14:10:25

标签: shell vim

我正在尝试以下列方式为我为插件设置的自定义命令启用命令完成:

command! -complete=shellcmd -nargs=* EScratch call s:ShellScratch(<f-args>)

我想为shellcmd和file启用完整选项。但是,似乎完整属性只需要1个选项。

为了实现我想要实现的目标提供更多的上下文:我正在开发一个插件来创建一个简单的临时缓冲区。我希望能够从命令模式运行shell命令并将输出复制到暂存缓冲区。我已经能够实现所有这一切,但是具有类似于shell的自动完成效率会更高。可以在此处查看完整的脚本https://github.com/ifthikhan/vimscratch/blob/master/plugin/vimscratch.vim。任何指针都将受到高度赞赏。

1 个答案:

答案 0 :(得分:2)

不幸的是,你做不到。如果你真的需要这个,你必须

  • 定义两个单独的命令,例如:ScratchShell:ScratchFile,以及相应的完成情况,或
  • 使用-complete=custom[list]并提供您自己的完整功能,您必须自己重新实现这两个来源。使用glob()非常容易完成文件名完成;我不太确定shell命令。