A Vim-like text editor using JavaScript