#js-vim is an implementation of vim in JavaScript
It already incorporates most of the vim bread-and-butter commands:
- Motions ( 0 ^ g_ G w ( )
- Operators ( y c d )
- smartindent
- Marks (ma 'a `a)
- Registers and macros ( "a, qa{macro}q, @a )
- Visual mode ( regular and line-, but not yet block )
And it's very extensible:
vim.addCommand({
mode: 'command',
match: /:w\n/,
fn: function() {
// Your own save logic here
// vim.text() returns the text value of the document.
}
});