Input Vim приносит модальный редактирование Vim в текстовые поля браузера
Input Vim, разработанный Такеши Кокубуном (k0kubun), приносит модальное редактирование Vim в текстовые поля внутри Chrome. Приложение отображает режимы Normal, Insert, Visual и Visual Line на вводах, текстовых областях и элементах с атрибутом contenteditable, предлагая движения, операторы, текстовые объекты и стек отмены для каждого элемента, чтобы пользователи могли редактировать, не покидая домашний ряд. Визуальная обратная связь использует блочный курсор, значок режима и отображение ожидаемой команды; поиск и опциональная синхронизация буфера обмена расширяют редактирование в богатых веб-редакторах. Это подходит для разработчиков, писателей и опытных пользователей, владеющих Vim.
Какой уровень редактирования Vim он приносит в поля ввода?
Input Vim предоставляет почти полный модальный слой редактирования внутри веб-вводов, нацеливаясь на <input>, <textarea> и contenteditable элементы. Основные элементы присутствуют: режимы Normal/Insert/Visual/Visual Line, набор движений, включая перемещения по словам и документам, составные операторы, такие как delete/change/yank, и продвинутые текстовые объекты для точных выборок. Эти возможности позволяют пользователям выполнять многошаговые редактирования, не покидая клавиатуру.
Как он ведет себя с обернутым текстом и движением курсора?
Приложение решает распространенные проблемы с курсором в текстовых областях браузера, используя собственную систему измерения строк на основе холста, которая исправляет вертикальные движения, такие как j и k, когда текст мягко обернут. Отмена и повтор для каждого элемента работают независимо от родной истории браузера, поэтому редактирования внутри поля откатываются предсказуемо, не затрагивая состояние окружающей страницы. Расширение написано на чистом JavaScript без зависимостей, чтобы минимизировать накладные расходы во время выполнения.
Как он избегает конфликтов с горячими клавишами страницы и системой?
Input Vim предотвращает захват клавиши Escape сайтами, чтобы защитить вход в Normal-режим, и предоставляет настройку исключения сайта, чтобы пользователи могли отключить расширение на определенных доменах. Визуальная обратная связь отображается через Shadow DOM, чтобы минимизировать конфликты стилей с CSS страницы. Настройка синхронизации буфера обмена по желанию связывает yank и paste с буфером обмена операционной системы.
Кто подходит для рабочего процесса и где он интегрируется?
Приложение нацелено на опытных пользователей Vim, которые редактируют веб-формы, вводы чата и поля CMS и хотят последовательного редактирования на домашнем ряду на разных сайтах. Глубокая поддержка contenteditable позволяет ему работать внутри современных веб-приложений, таких как Notion и GitHub. Опыт разработчика k0kubun в инструментах для разработчиков и проектах с открытым исходным кодом объясняет акцент на предсказуемом поведении текстовой модели, а не на переназначении навигации браузера.
Сосредоточенный инструмент для пользователей Vim, которые принимают кривую обучения
Input Vim является практичным вариантом для пользователей, уже свободно владеющих Vim, которые хотят сохранить модальное редактирование при взаимодействии с веб-формами. Компромисс заключается в том, что он предполагает мышечную память Vim, поэтому новичкам предстоит значительный период адаптации, и некоторые индивидуальные веб-компоненты могут работать не идеально. Попробуйте его сначала в запасном вводе, чтобы адаптировать привязки, прежде чем включать его широко.