Translate vim commands into human-readable texts
Ruby
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