Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在gVIM中显示多项选择对话框?_Vim - Fatal编程技术网

是否可以在gVIM中显示多项选择对话框?

是否可以在gVIM中显示多项选择对话框?,vim,Vim,我有一个gVIM脚本,它解析当前缓冲区,并提供用户从多个选项中选择一个。它是作为控制台输入实现的,但由于我使用的是图形版本的gVIM,也许可以使用图形版本的多选对话框?我曾尝试使用python+Tkinter,但它非常不稳定,在某些NIX框上无法工作:(.有什么想法吗?GVim在其功能和设置中,没有任何可以显示GUI元素的功能(除了一些重要的例外,如关闭对话框等) 这就是说,GVim是开源的,没有什么能阻止你下载源代码并弄乱它。经过一些研究,我找到了一个解决方案。VIM支持所谓的“clients

我有一个gVIM脚本,它解析当前缓冲区,并提供用户从多个选项中选择一个。它是作为控制台输入实现的,但由于我使用的是图形版本的gVIM,也许可以使用图形版本的多选对话框?我曾尝试使用python+Tkinter,但它非常不稳定,在某些NIX框上无法工作:(.有什么想法吗?

GVim在其功能和设置中,没有任何可以显示GUI元素的功能(除了一些重要的例外,如关闭对话框等)


这就是说,GVim是开源的,没有什么能阻止你下载源代码并弄乱它。

经过一些研究,我找到了一个解决方案。VIM支持所谓的“clientserver”模式,外部应用程序可以向它发送命令。因此,这个任务(以及许多其他任务)可以通过以下技术解决(在Windows、OSX和Ubuntu上测试):

  • 处理命令的VIMscript在中启动独立GUI脚本 单独处理和返回
  • 独立GUI脚本(python/ruby/.exe/whatever)显示GUI和 等待用户交互
  • 用户交互后,独立GUI脚本关闭其窗口, 通过“clientserver”接口与VIM通信(调用另一个 脚本、打开文件、移动光标等)并退出