В Vim, можете ли вы показать подсказку, где находится курсор? - PullRequest
7 голосов
/ 10 февраля 2011

Есть ли способ отобразить всплывающую подсказку (например, всплывающее меню, но только с текстом), где находится курсор, с помощью VimScript?

1 Ответ

8 голосов
/ 10 февраля 2011

Если вы имеете в виду всплывающую подсказку, в которой находится курсор мыши , то вы можете сделать это, включив параметр ballooneval и установив параметр bexpr, чтобы он указывал нафункция, которая возвращает нужную подсказку.Это доступно только если вы используете vim, скомпилированный с +balloon_eval (см. :version).Взгляните на мой (довольно простой) скрипт шаров с тегами для примера.

Если вы имеете в виду всплывающую подсказку, где находится обычный курсор vim, я не думаю, что есть очень чистый способсделать это.Вы можете создать пользовательское меню с нужным вам текстом (используя amenu) и сопоставить команду с :nop<CR> и использовать :popup для ее отображения:

amenu ]MyMenuName.The\ Text\ You\ Want :nop<CR>
popup ]MyMenuName

Однако это будет работать только вГрафические интерфейсы Win32 и GTK.

Я не знаю, как использовать всплывающее меню режима вставки (которое используется для Ctrl-P и omnicompletion и т. Д.), Чтобы просто отобразить некоторый текст.Вы можете использовать метод завершения, чтобы указать собственный текст в качестве альтернативы завершения, и установить menuone в completeopt, чтобы разрешить показ одной строки, но, вероятно, он перезапишет текущий текст содержимым всплывающего меню.Это, вероятно, также нарушило бы всеобщее пополнение!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...