vimuiex : Vim UI extensions: a pack of plugins that use an overlapping popup list
| script karma
Downloaded by 3563
Comments, bugs, improvements
script versions (upload new version)
|Vim user interface extension
requires: VxLib (vimscript#3061)
The plugin implements a popup listbox (an overlapping window). The listbox can display an array of stirng items and can be navigated with the usual Vim keys. The list can be narrowed by interactively applying a filter.
The listbox is available in console when Vim is built with "+python" and the Python curses library is available. For GVim a patch that adds the feature "+python_screen" is required (see below).
The commands defined by the plugin are listed below. When a popup listbox appears, you can pres F1 to display the list of keys/commands that are active in the listbox. You can always close a listbox with Esc or q in default mode. The basic operation is described at:
Opening files, selecting buffers:
Display a list of recent files, open selected file.
Browse the local filesystem to open some files. Recent directory list is available to find files faster.
Display a list of files in current directory and subdirectories to a certain depth to open some files.
Display all occurences of a string in the listbox. The search range can be a buffer, a directory or a directory with its subdirectories. Uses vimgrep or external grep for directory searches.
Capture output from [I and show it in the listbox.
Process current file with ctags, show results in the listbox.
Display the lines that match a predefined regular expression for current filetype. Example implementations for: Vim, Python, D, LaTeX, BibTex, Html, Slice.
Display TODO/Task items in source files. The search range can be defined like with VxOccurRegex.
Every command in this section stores its results in vxoccur history. A recent set of search results can be activated with :VxOccurSelectHist without running an expensive search command again.The commands :VxCPrev and :VxCNext select items while the list is closed. The command :VxOccurHist redisplays the active list.
A helper plugin VxMap enables a faster navigation through the list of results (and also the following: buffers, tabs, errorlist, locationlist).
Extended builtin commands:
Display the Vim menu in the listbox, select items from menu.
Display the output of :display, insert or execute selected register.
Display the output of :marks, jump to mark
Display the output of any command in a listbox
* The file vxcmdhist.vim:
Implements a function that displays the command line history in a listbox when PgUp is pressed
Commands require "+python_screen" (download the patch below):
Display lables in the line-number area and jump to selected label.
Display a label in the center of every window and jump to selected window.
Patch and prebuilt binaries: http://sourceforge.net/projects/vimuiex/files/
Detailed descriptions: http://vimuiex.sourceforge.net/plugins.html
Example keymap: http://vimuiex.sourceforge.net/vimmapexmpl.html
- Install Python 2.6
- Install vimscript#3061 (VxLib, 0.7.0 or newer)
- Download vimuiex.zip
- Extract the zip archive into your runtime directory (eg. ~/.vim).
- To regenerate the documentation start Vim and execute:
:helptag <your runtime directory>/doc
Most of the plugins will work in Linux console Vim (using the Python Curses library).
Other versions must use the vim internal implementation for drawing windows, for which a patch must be applied to Vim.
The patch and the prebuilt binaries for Windows are available at:
Click on the package to download.
ip used for rating: 220.127.116.11
||* F1 displays mapped keys for current listbox
* VxOccur can use find/xargs/grep
* Recent searches are stored in memory for later use with VxOccurHist, VxOccurSelectHist
* VxCNext/VxCPrev to move through last search results
* VxOccurRoutines supports D
* Keymaps: <Plug> versions added for most Vx commands
* VxLib installed separately
||* tested and fixed on windows (binaries for Python 2.6 uploaded to SF)
* VxFileFilter: memory consumption reduced 50%
* VxFileFilter: add pending items every 3-5s (gvim only)
* fix in textfilter
||* new command: VxFileFilter
* filesystem scanned in a background thread
* VxOccurRoutines: defaults for latex added
* fix: crash after ou in VxBufferList
||* fix: colour of first listbox line was wrong in curses
* fix: locale was not set properly in curses
||* fix: colors were not defined in curses (I should test more!)
* fix: catch vim.errors in textmenu
* VxOccur: special treatment of displayed filenames: new color; when filtering hide if no items match
||* VxOccur, VxSourceTasks: also search in files; see docs.
* VxDired: open multiple marked files
* VxDisplay: execute register with @
* VxMan: set MANWIDTH
* fix: default color attributes after colorscheme change
* fix: quickfixpreview - map keys locally
||* fix: handle E490 in EditLine
* listbox filter: multiple terms separated with ','; negate term with '-'
||* items in a list can be marked (map: m)
* VxBufferList: change sort order; open with split, vsplit, tab; delete/wipeout buffer; sort list; split-display marked buffers
* VxRecentFiles: open multiple marked recent files; split/vsplit/tab-open
* VxDired: respect browsedir setting; display/open files from subdirectories
* VxTextMenu: load menus.vim if not loaded
* list contents is displayed using &encoding; (warning: double-width characers may cause wrong display; tested only with UTF)
* vxlib plugin for previewing from QuickFix (map: <space>)
||* term and screen backends merged; wx deprecated
* added listbox commands: 'i' - numeric item selection
* command "prevpage" also key 'b'; "nextpage" also on 'space'
* directory browser added (vxdired) with recent directory list (d)
* other new plugins: vxjump, vxcapture, vxoccur, vxcmd
* python modules reorganized
* utility functions moved to vxlib:
- Vim Plugin Generator (python script)
- history manager for input() command
||* new backend - vim screen (requires vim patch)
* menu shortcuts in term/screen backends
* recent file list plugin
* plugin scripts renamed (py->vx); functions renamed (Py->Vx)
* hilight objects added for popup list
||* vim patch for screen backend