Translate vim commands into human-readable texts
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
README.textile
Rakefile
example.rb
test_results.txt

README.textile

Speak vimmish?

vimmish translates a “vim input stream” to human-readable text:

From

iDon't know vim :(.<ESC>^2WBc2wbetter now<ESC><RIGHT>Da.<ESC>II can understan<ESC><RIGHT>~dE

To


                   i => insert before cursor: 
  Don't know vim :(. => type Don't know vim :(.
               <ESC> => go to normal mode
                   ^ => move to the begining of the line (not blank character)
                  2W => move to the begining of the next space-separated word, 2 times
                   B => move backwards one space-separated-word
                 c2w => change to the begining of the next word, 2 times
          better now => type better now
               <ESC> => go to normal mode
             <RIGHT> => move one character to the right
                   D => delete the rest of the current line
                   a => append after cursor: 
                   . => type .
               <ESC> => go to normal mode
                   I => insert to the begining of the current line: 
     I can understan => type I can understan
               <ESC> => go to normal mode
             <RIGHT> => move one character to the right
                   ~ => change character case
                  dE => delete to the end of the next space-separated-word

Usage


vimtalk = "iDon't know vim :(. Yet :)<ESC>"
humanized = Vimmish.humanize(vimmish)

pp humanized
pp VimmishFormatters.pretty(humanized)

Status

It parses frequently used motions and commands for normal mode / insert mode / visual mode (combined with motions).
Check the test results