Awesome
Vimbot - test drive vim from ruby
Usage
Start up a vim application like this:
vim = Vimbot::Driver.new
vim.start
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 = Vimbot::Driver.new(
: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"
API
editing
type
- sends keyboard input to vim, applying mappings and creating an undo entry where needednormal
- like,type
, but enters normal mode firstinsert
- like,type
, but enters insert mode firstappend
- like,type
, but enters insert mode firstundo
redo
clear_buffer
raw_type
- liketype
, 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 online_number
,column_number
- get the position of the cursorregister
- get the contents of a given registermode
- returns the mode as a letter:i
,n
,c
,v
,V
,s
evaluate
- get value of arbitrary vimscript expressionin_insert_mode?
in_normal_mode?
in_command_mode?
in_visual_mode?
in_select_mode?
configuration
source
,runtime
- load vimscript filesset
- set a vim optionmap
- add a key mapping
Contributing
New convenience methods are easy to add, and pull requests are welcome!
Dependencies
Vimbot is developed with Vim 7.3 and Ruby 1.9.2.
Author
Vimbot is developed by Max Brunsfeld | @maxbrunsfeld | maxbrunsfeld@gmail.com