В рамках проекта 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".

Источник: http://www.opennet.ru/opennews/art.shtml?num=41158