Input Vim wprowadza modalne edytowanie Vim do pól tekstowych przeglądarki
Input Vim, opracowany przez Takashi Kokubun (k0kubun), wprowadza modalne edytowanie Vim do pól tekstowych w Chrome. Aplikacja mapuje tryby Normal, Insert, Visual i Visual Line na inputy, textarea i elementy contenteditable, oferując ruchy, operatory, obiekty tekstowe i stos cofania per element, dzięki czemu użytkownicy mogą edytować bez opuszczania podstawowego wiersza. Wizualna informacja zwrotna wykorzystuje kursor blokowy, odznakę trybu i wyświetlanie oczekującej komendy; wyszukiwanie i opcjonalna synchronizacja schowka rozszerzają edytowanie w bogatych edytorach internetowych. Odpowiada programistom, pisarzom i zaawansowanym użytkownikom biegłym w Vim.
Jaki poziom edytowania Vim wprowadza do pól wejściowych?
Input Vim dostarcza prawie kompletną warstwę edytowania modalnego wewnątrz wejść internetowych, celując w <input>, <textarea> i contenteditable elementy. Obecne są podstawowe elementy: tryby Normal/Insert/Visual/Visual Line, zestaw ruchów obejmujący ruchy słów i dokumentów, kompozytowe operatory takie jak delete/change/yank oraz zaawansowane obiekty tekstowe do precyzyjnych wyborów. Te możliwości pozwalają użytkownikom na wykonywanie wieloetapowych edycji bez odrywania rąk od klawiatury.
Jak zachowuje się z zawiniętym tekstem i ruchem kursora?
Aplikacja rozwiązuje powszechne problemy z kursorem w przeglądarkowych textarea, używając niestandardowego systemu pomiaru linii opartego na kanwie, który poprawia ruchy pionowe takie jak j i k, gdy tekst jest miękko zawinięty. Cofanie i ponowne wykonywanie działa niezależnie od natywnej historii przeglądarki, więc edycje wewnątrz pola cofną się przewidywalnie, nie wpływając na stan otaczającej strony. Rozszerzenie jest napisane w czystym JavaScript bez żadnych zależności, aby utrzymać niskie obciążenie czasem wykonywania.
Jak unika kolizji z skrótami strony i systemu?
Input Vim zapobiega stronom przejmującym klawisz Escape, aby chronić wejście w trybie Normal, i udostępnia ustawienie wykluczenia strony, aby użytkownicy mogli wyłączyć rozszerzenie na określonych domenach. Informacje zwrotne wizualne renderują przez Shadow DOM, aby zminimalizować konflikty stylów z CSS strony. Opcjonalne ustawienie synchronizacji schowka łączy yank i wklejanie z systemowym schowkiem, gdy takie zachowanie jest pożądane.
Kto pasuje do tego przepływu pracy i gdzie się integruje?
Aplikacja jest skierowana do doświadczonych użytkowników Vim, którzy edytują formularze internetowe, wejścia czatu i pola CMS i chcą spójnego edytowania w domu na różnych stronach. Głęboka obsługa contenteditable pozwala jej działać wewnątrz nowoczesnych aplikacji internetowych, takich jak Notion i GitHub. Tło dewelopera k0kubun w narzędziach deweloperskich i projektach open-source wyjaśnia skupienie na przewidywalnym zachowaniu modelu tekstowego, a nie na remapowaniu nawigacji przeglądarki.
Narzędzie skoncentrowane dla użytkowników Vim, którzy akceptują krzywą uczenia się
Input Vim to praktyczna opcja dla użytkowników, którzy już biegle posługują się Vim i chcą zachować edytowanie modalne podczas interakcji z formularzami internetowymi. Kompromis polega na tym, że zakłada pamięć mięśniową Vim, więc nowi użytkownicy muszą przejść przez znaczny okres dostosowawczy, a niektóre dostosowane komponenty internetowe mogą nie działać idealnie. Wypróbuj to najpierw w zapasowym polu wejściowym, aby dostosować powiązania, zanim włączysz to szeroko.




