Vim User Interface Extension

Vimuiex is a library and a set of plugins for the Vim text editor. It adds a popup listbox that is displayed in an overlapping window (see screenshots). The list can be navigated with the usual Vim keys. When an item is selected from the list an arbitrary action can be taken.

The core of the library is written in Python and it will work only if Vim has the "+python" feature enabled at runtime.

The library uses the curses Python library which is only functional in a terminal window. To use the library in GVim a patch has to be applied to Vim source. The patch adds the "+python_screen" Vim feature which enables direct access to the internal Vim screen.

The code for the vimuiex plugins is generated with the Vim Plugin Generator. The Plugin Generator is a Python script that parses Vim scripts and generates plugin code from (sgml) tags that are placed in the comments arround Vim-Script code. The generated code enables the user of the library to see the status of all the generated plugins encoutered in a session:

  • loaded plugins,
  • plugins that failed to load for the following reasons:
    • the plugin was disabled by the user,
    • the plugin needs Vim features that are not present,
    • there was an error in the plugin code.

The Vim Plugin Generator is part of a companion library VxLib. Vxlib contains some other useful Vim functions that are used by the plugins:

  • history manager for the input() command
  • capture output from commands
  • edit a set of flags interactively