Hi Marko,
I'm interested in the vimuiex plugin for vim. I can't seem to get it working though.
I'm using NeoBundle plugin to install/manage vim plugins (github.com/Shougo/neobundle.vim).
All my plugins are installed inside ~/.vim/bundle where each plugin has it's own folder and the folder is added to the runtimepath.
So, NeoBundle automatically added these to my runtime path
~/.vim/bundle/vxlib/runtime/vxlib/
~/.vim/bundle/vimuiex/runtime/vimuiex
after I specified the plugin details like this:
NeoBundle 'svn://svn.code.sf.net/p/vimuiex/code/trunk', {
\'name': 'vxlib',
\'rtp': 'runtime/vxlib/'
\}
NeoBundle 'svn://svn.code.sf.net/p/vimuiex/code/trunk', {
\'name': 'vimuiex',
\'rtp': 'runtime/vimuiex/'
\}
Note that ~/.vim/bundle/vimuiex/ and ~/.vim/bundle/vxlib are each a clone/checkout of the vimuiex svn repository from here on sourceforge, so they contain the exact same files. NeoBundle cloned/checked-out the same repository for each plugin
Have I set up the rtp properly? Are <plugin path="">/runtime/vxlib or <plugin path="">/runtime/vimuiex the correct folders to add to my runtime path?</plugin></plugin>
When I do ":call vxlib#plugin#Init()", this adds only two commands to vim: VxLet and VxStatus, which leads me to believe that the runtimepath is working for at least vxlib.
After calling vxlib#plugin#Init(), I do not have VxFileBrowser, or VxFileFilter, etc, just VxLet and VxStatus and nothing more.
Any help would be appreciated!
-Joe
Ok, so it turns out it is infact installed. The documentation just needs more examples.
For example, I looked through the .vim files and saw "vimuiex#vxtextmenu#VxTextMenu" mentioned in there, then played around and discovered I could do "call vimuiex#vxtextmenu#VxTextMenu('File', 'n')" to bring up the file menu.
Pretty freakin' cool!!
It'd be nice if the docs included at least an example of how to construct a file menu. Is it possible to make a horizontal single-row menu bar so when the items are clicked it has drop down menus?
Last edit: Joe Pea 2013-04-24
The idea behind the library is that a popup list is a very useful
widget and that Vim doesn't have one. There are many implementations
of a selection-list but none is good enough -- they mostly break the
layout of the windows which I don't like.
The text menu is only there because it was so easy to create it after
all the listing infrastructure was implemented. Therefore -- no menu
bar.
If you want to create custom menus, you should look into
the VxPopup function - there are many examples in the code.
Newer versions
After I published version 0.7.0 I wasn't satisfied with what I've
done. I wanted an implementation that didn't depend on python feature
and ncurses and that could eventually become part of Vim. So I rewrote
everything in C. 10k of lines later this only lead to yet another
version of the drawing-backend to support in vimuiex:
vim function popuplist()
I've been using popup_list dayly since it was developed and I
occasionally add a feature to vimuiex when I need it. If you want to
take a look you can find a special verison of vim at
http://code.google.com/r/markomahnic-vim-popuplist/
I haven't updated it in a long time so it's a few versions behind, but
it's what I'm using. I'm planning to pull some more patches from the
main branch, but time is my enemy. It builds on Linux and I also
managed to build it on Cygwin -- if you want I can send you the
scripts.
You will have to checkout the latest vimuiex and vxlib files from the
sf.net repository. There are other plugins in svn that are also
published on vim.org. The documentations is much better in this
version although also unfinished.
I could use your vxlib/vimuiex as a starting point for a plugin that adds a menu bar by simply installing said plugin. :D
Last edit: Joe Pea 2013-04-24
On 24. 04. 2013 06:01, Joe Pea wrote:
I suppose this means you are using the last version that was
published on vim.org (0.7.0).
This should be correct. At startup Vim should source
runtime/vxlib/plugin/vxlib.vim which then sources the files from
runtime/vxlib/vxlibautogen and runtime/vimuiex/vxlibautogen.
vxlibautogen is where the plugins are acutally registered. The
files that are in there are autogenerated by the plugin generator
form vxlib. Each of these generated files calls vxlib#plugin#Init().
These are probably the only two commands that are not defined in
autogenerated files, they are defined in autoload/vxlib/plugin.vim.
The other commands are not created either because the
vxlibautogen files are not sourced or you don't have the right
version of Vim. To check if the files are sourced, you could use
vim --startuptime out.txt
and verify that the files from vxlibautogen are listed in out.txt.
The version of Vim could be a bigger problem. If you are not
using a specially built version of Vim with the screen-patch,
then the popup list is only available in a terminal that supports
ncurses. An alternative is a wxWidgets implementation but that
doesn't work as I wished it would. You can use VxStatus to check
what the problem is. You should see a list of plugins and their
status. If the plugin isn't available its status is negative and
the list of flags should tell you why it wasn't loaded.
Related
Bugs: #2