В рамках проекта Vim.js выполнено портирование текстового редактора Vim для работы в окружении web-браузера. Проект интересен тем, что он позволяет выполнить в браузере полноценный Vim, полностью аналогичный обычному Vim, собранному в режиме «—with-features=small». Для обеспечения работы в браузере код на языке Си был транслирован в JavaScript при помощи компилятора Emscripten. Для оптимизации производительности возможно использование расширения Asm.js. Работа протестирована в свежих выпусках Chrome, Firefox и IE.
Для оценки работы Vim в браузере подготовлена специальная
демонстрационная страница. Учитывая специфику использования в браузере в Vim.js реализованы некоторые дополнительные возможности, такие как поддержка запуска JavaScript-кода из сеанса редактирования, возможность загрузки локальных файлов и файлов из сервиса Dropbox. Проект также можно использовать в форме библиотеки для интеграции функций редактирования в web-приложения. Интересно, что Vim.js сохранил возможность использования преднастроенного файла конфигурации «vimrc» — конфигурация сохраняется через localStorage API, для изменения настроек можно запустить «:e $VIM/vimrc».