Можно ли отобразить диалог множественного выбора в gVIM? - PullRequest
2 голосов
/ 22 января 2012

У меня есть скрипт gVIM, который анализирует текущий буфер и предлагает пользователю выбрать один из нескольких вариантов.Он реализован как консольный ввод, но, поскольку я использую графическую версию gVIM, возможно, можно использовать графическую версию диалогового окна с множественным выбором?Я пытался использовать python + Tkinter, но он очень нестабилен и не работает на некоторых блоках NIX :(. Есть идеи?

Ответы [ 2 ]

1 голос
/ 22 января 2012

GVim не имеет в своих функциях и настройках ничего, что позволяло бы отображать элементы графического интерфейса пользователя (за некоторыми благородными исключениями, такими как закрытие диалога и т. П.).

Как говорится, GVim является открытым исходным кодом, и ничто не мешает вам загрузить исходный код и возиться с ним.

0 голосов
/ 27 января 2012

После некоторых исследований я нашел решение. VIM поддерживает так называемый режим "clientserver", и внешнее приложение может отправить ему команду. Поэтому эту задачу (и многие другие) можно решить с помощью следующей методики (протестировано на Windows, OSX и Ubuntu):

  1. VIMscript, который обрабатывает команду, запускает автономный скрипт GUI в отдельный процесс и возврат.
  2. Автономный скрипт GUI (python / ruby ​​/ .exe / что угодно) отображает GUI и ожидает взаимодействия с пользователем.
  3. После взаимодействия с пользователем автономный скрипт GUI закрывает окно, общается с VIM через интерфейс "clientserver" (вызов другого скрипт, открыть файл, переместить курсор и т. д.) и выйти.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...