Vimbot Save

test drive vim plugins from ruby

Project README

Vimbot - test drive vim from ruby


Start up a vim application like this:

vim =

When you want to quit vim,

> vim.stop

By default, Vimbot will try to guess what vim application to use, and use an empty .vimrc and .gvimrc. If you want to specify a vim binary or some config files, you can do this:

> vim =
  :vim => "bin/my_vim",
  :vimrc => "~/.vimrc",
  :gvimrc => ".alternative_gvimrc"

From there, you can begin editing:

> vim.type "i", "Hey vim users,"
> vim.append "<CR><CR>", "Try testing your vim plugins with vimbot!"
> vim.command "%s/vim/best_editor_ever/g"

=> "2 substitutions on 2 lines"



  • type - sends keyboard input to vim, applying mappings and creating an undo entry where needed
  • normal - like, type, but enters normal mode first
  • insert - like, type, but enters insert mode first
  • append - like, type, but enters insert mode first
  • undo
  • redo
  • clear_buffer
  • raw_type - like type, but does not do vimbot's normal behavior of ensuring that an undo entry is created and that mappings are applied

querying the state of the editor

  • line - get the text of the line the cursor is on
  • line_number, column_number - get the position of the cursor
  • register - get the contents of a given register
  • mode - returns the mode as a letter: i, n, c, v, V, s
  • evaluate - get value of arbitrary vimscript expression
  • in_insert_mode?
  • in_normal_mode?
  • in_command_mode?
  • in_visual_mode?
  • in_select_mode?


  • source, runtime - load vimscript files
  • set - set a vim option
  • map - add a key mapping


New convenience methods are easy to add, and pull requests are welcome!


Vimbot is developed with Vim 7.3 and Ruby 1.9.2.


Vimbot is developed by Max Brunsfeld | @maxbrunsfeld | [email protected]

Open Source Agenda is not affiliated with "Vimbot" Project. README Source: maxbrunsfeld/vimbot
Open Issues
Last Commit
8 years ago

Open Source Agenda Badge

Open Source Agenda Rating