Input Vim은 브라우저 텍스트 필드에 모달 Vim 편집을 제공합니다
입력 Vim은 Takashi Kokubun (k0kubun) 이 개발하였으며, Chrome 내의 텍스트 필드에 Vim 모달 편집을 제공합니다. 이 앱은 Normal, Insert, Visual 및 Visual Line 모드를 입력, 텍스트 영역 및 contenteditable 요소에 매핑하여 사용자가 홈 행을 떠나지 않고도 편집할 수 있도록 동작, 연산자, 텍스트 객체 및 요소별 실행 취소 스택을 제공합니다. 시각적 피드백은 블록 커서, 모드 배지 및 대기 중인 명령 표시를 사용합니다; 검색 및 선택적 클립보드 동기화는 편집을 풍부한 웹 편집기로 확장합니다. 이는 Vim에 능숙한 개발자, 작가 및 파워 유저에게 적합합니다.
입력 필드에 어떤 수준의 Vim 편집을 제공합니까?
Input Vim은 <input>, <textarea> 및 contenteditable 요소를 대상으로 웹 입력 내에 거의 완전한 모달 편집 레이어를 제공합니다. 기본 요소가 존재합니다: 일반/삽입/비주얼/비주얼 라인 모드, 단어 및 문서 이동을 포함한 동작 세트, 삭제/변경/복사와 같은 조합 가능한 연산자, 그리고 정밀 선택을 위한 고급 텍스트 객체. 이러한 기능을 통해 사용자는 키보드를 떠나지 않고도 다단계 편집을 수행할 수 있습니다.
감싸인 텍스트와 커서 이동에 대해 어떻게 작동합니까?
이 앱은 텍스트가 부드럽게 감싸일 때 j와 k와 같은 수직 동작을 수정하는 사용자 정의 캔버스 기반 줄 측정 시스템을 사용하여 브라우저 텍스트 영역의 일반적인 커서 문제를 해결합니다. 요소별 실행 취소 및 다시 실행은 브라우저의 기본 기록과 독립적으로 작동하므로 필드 내에서의 편집이 주변 페이지 상태에 영향을 주지 않고 예측 가능하게 롤백됩니다. 이 확장은 런타임 오버헤드를 낮추기 위해 종속성이 없는 바닐라 JavaScript로 작성되었습니다.
페이지 단축키 및 시스템과의 충돌을 어떻게 피합니까?
Input Vim은 일반 모드 입력을 보호하기 위해 Escape 키가 사이트에 의해 탈취되는 것을 방지하며, 사용자가 특정 도메인에서 확장을 비활성화할 수 있도록 사이트 제외 설정을 제공합니다. 비주얼 피드백은 페이지 CSS와의 스타일 충돌을 최소화하기 위해 Shadow DOM을 통해 렌더링됩니다. 선택적 클립보드 동기화 설정은 사용자가 원할 경우 yank 및 paste를 운영 체제 클립보드와 연결합니다.
누가 이 워크플로에 적합하며 어디에 통합됩니까?
이 앱은 웹 양식, 채팅 입력 및 CMS 필드를 편집하고 사이트 전반에 걸쳐 일관된 홈 행 편집을 원하는 경험이 풍부한 Vim 사용자들을 대상으로 합니다. 깊은 contenteditable 지원을 통해 Notion 및 GitHub과 같은 현대 웹 앱 내에서 작동할 수 있습니다. 개발자 k0kubun의 개발 도구 및 오픈 소스 프로젝트에 대한 배경은 브라우저 내비게이션 재매핑보다 예측 가능한 텍스트 모델 동작에 초점을 맞춘 이유를 설명합니다.
학습 곡선을 수용하는 Vim 사용자를 위한 집중 도구
Input Vim은 웹 양식과 상호작용할 때 모달 편집을 유지하고자 하는 Vim에 이미 능숙한 사용자에게 실용적인 옵션입니다. 단점은 Vim 근육 기억을 전제로 하므로, 신규 사용자는 상당한 조정 기간을 겪어야 하며, 일부 맞춤형 웹 구성 요소는 완벽하게 작동하지 않을 수 있습니다. 먼저 여유 입력에서 바인딩을 조정한 후 널리 활성화하는 것을 시도해 보세요.