Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
vim knowledge tabularized - search vim keys, options and more with great precision.
Ruby
tag: v0.4.0

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
spec
.gemspec
.travis.yml
CHANGELOG.rdoc
LICENSE.txt
README.md
Rakefile
deps.rip

README.md

Description

Improve your knowledge of vim by precise searching of vim items: keybindings, options and commands. For example, keys can be searched by keystroke, mode, description or where they came from. This gem creates a vimdb database, ~/.vimdb.pstore, from your vim documentation. Tested with vim >= 7.2 on a mac. Works only on ruby 1.9.x.

Usage

# List keys with Ctrl
$ vimdb keys C-
+---------------+------+---------------------+------------------------------------------
| key           | mode | from                | desc                                    |
+---------------+------+---------------------+-----------------------------------------|
| 0 C-d         | i    | default             | delete all indent in the current line   |
| <C-End>       | i    | default             | cursor past end of fil                  |
| <C-End>       | n    | default             | 1  same as "G"                          |
| <C-Home>      | i    | default             | cursor to start of file                 |
| <C-Home>      | n    | default             | 1  same as "gg"                         |
| <C-Left>      | n    | default             | 1  same as "b"                          |
...

# List keys with Ctrl-A combo
$ vimdb keys C-A

# List keys with Esc key
$ vimdb keys E-

# List keys with Leader
$ vimdb keys L-

# List keys with no Leader - not of last search
$ vimdb keys L- -n

# List insert mode keys
$ vimdb keys -m=i

# List keys I've defined in vimrc
$ vimdb keys user -f=from

# Plugins are assumed to be in ~/.vim/bundle/ i.e. for pathogen
# Change with Vimdb.plugins_dir
# List keys from my plugins
$ vimdb keys plugin -f=from

# List keys from snipmate plugin
$ vimdb keys snipmate -f=from

# List keys that contain completion in description
$ vimdb keys completion -f=desc

# List options that contain window in description
$ vimdb opts window -f=desc

# List commands mentioning 'buffer' in any field
$ vimdb commands buffer -a

# Info about how vim items were made
$ vimdb info keys
$ vimdb info options

# For more
$ vimdb help

Configuration

Configure vimdb with a ~/.vimdbrc, which is loaded before every command request. Use it to define additional commands. For an example, see my rc file.

Key Modes

Vim's key modes are represented as single letters

  • n: normal
  • c: commandline
  • i: insert
  • o: operation
  • v: visual
  • s: select

If you're unfamiliar with all these modes read about them in vim with ':h :map-modes'.

The following modes from :map were altered to fit into the above modes:

  • ! -> ci
  • l -> ci
  • x -> v
  • v -> vs

Motivation

Wanted to learn faster than :help would let me.

Contributing

See here

Todo

  • Add support for more vim items - variables, functions
  • Considering user annotation for vim items
Something went wrong with that request. Please try again.