# gdh1995/vimium-c

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gdh1995-vimium-c).**

4,283 stars · 294 forks · TypeScript · other

## Links

- GitHub: https://github.com/gdh1995/vimium-c
- Homepage: https://chrome.google.com/webstore/detail/vimium-c/hfjbmagddngcpeloejdejnfgbamkjaeg
- awesome-repositories: https://awesome-repositories.com/repository/gdh1995-vimium-c.md

## Topics

`chrome-extension` `edge-extension` `firefox-webextension` `keyboard-assistance` `keyboard-shortcut` `vimium` `webextension`

## Description

Vimium-C is a keyboard-driven browser extension that provides a vim-like navigation tool for web browsers. It functions as a customizable key mapper and accessibility tool, allowing users to interact with web content and manage browser tabs and windows without a mouse.

The project distinguishes itself through advanced key mapping capabilities, including the ability to define contextual shortcuts based on the website host and remap keyboard layouts. It implements mode-specific mappings to prevent command conflicts and allows for specific keyboard mappings to function within text input boxes.

The extension's broader capabilities cover page navigation, content search and jumping, and text manipulation within input fields. It also includes logic for executing conditional command sequences based on the success or failure of previous operations.

## Tags

### Business & Productivity Software

- [Vim-Like Navigation Tools](https://awesome-repositories.com/f/business-productivity-software/vim-like-navigation-tools.md) — A tool that implements modal editing and keyboard-centric navigation patterns for web browsers.
- [Browser Integration Extensions](https://awesome-repositories.com/f/business-productivity-software/browser-integration-extensions.md) — Provides an extension that integrates keyboard navigation and window management functionality directly into the web browser interface.

### User Interface & Experience

- [Keyboard Navigation](https://awesome-repositories.com/f/user-interface-experience/keyboard-navigation.md) — Provides a comprehensive system for interacting with web elements and browser windows using keyboard shortcuts. ([source](https://chrome.google.com/webstore/detail/vimium-c-all-by-keyboard/hfjbmagddngcpeloejdejnfgbamkjaeg))
- [Keyboard Shortcuts](https://awesome-repositories.com/f/user-interface-experience/component-utilities/keyboard-shortcuts.md) — Allows users to define and remap keyboard shortcuts to trigger browser actions and internal commands. ([source](https://cdn.jsdelivr.net/gh/gdh1995/vimium-c@master/README.md))
- [Interaction Mode Toggles](https://awesome-repositories.com/f/user-interface-experience/interactivity-mode-coordination/interaction-mode-toggles.md) — Manages different interaction contexts by toggling between navigation and input modes to resolve key conflicts.
- [Tabbed Window Navigation](https://awesome-repositories.com/f/user-interface-experience/tabbed-navigation/tabbed-window-navigation.md) — Enables creating, closing, and switching between browser tabs and windows using keyboard shortcuts. ([source](https://cdn.jsdelivr.net/gh/gdh1995/vimium-c@master/README.md))
- [Keyboard-Based Accessibility](https://awesome-repositories.com/f/user-interface-experience/keyboard-based-accessibility.md) — Uses keyboard-based mappings and focus management to interact with web elements difficult to navigate via traditional means.

### Development Tools & Productivity

- [Custom Key Mappings](https://awesome-repositories.com/f/development-tools-productivity/custom-key-mappings.md) — Implements a system for defining complex keyboard shortcuts and contextual mappings for browser actions.
- [Keyboard-Driven Browsers](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/workflow-productivity-enhancers/developer-productivity-utilities/developer-productivity/keyboard-driven-interfaces/keyboard-driven-browsers.md) — Transforms the browser into a keyboard-driven interface, reducing or eliminating reliance on the mouse.
- [Mode-Specific Keybindings](https://awesome-repositories.com/f/development-tools-productivity/keybinding-configurations/mode-specific-keybindings.md) — Implements unique key translations for different interaction modes to prevent command conflicts. ([source](https://github.com/gdh1995/vimium-c/wiki/Use-in-another-keyboard-layout))
- [Keyboard Shortcut Mappers](https://awesome-repositories.com/f/development-tools-productivity/keyboard-shortcut-mappers.md) — Offers a system for binding custom functions to specific keyboard combinations to control browser behavior.
- [Browser-Based Workflows](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-engines/browser-based-workflows.md) — Provides a customizable workflow for automating repetitive navigation tasks and speeding up web browsing.
- [Global Keyboard Shortcuts](https://awesome-repositories.com/f/development-tools-productivity/global-keyboard-shortcuts.md) — Supports configuring keyboard commands through browser settings to ensure functionality across different page states. ([source](https://github.com/gdh1995/vimium-c/wiki/Trigger-commands-in-an-input-box))
- [Text Buffer Manipulations](https://awesome-repositories.com/f/development-tools-productivity/text-buffer-manipulations.md) — Implements commands for modifying and moving the text cursor and selection within input fields. ([source](https://github.com/gdh1995/vimium-c/wiki/Trigger-commands-in-an-input-box))
- [Input Focus Navigation](https://awesome-repositories.com/f/development-tools-productivity/window-managers/input-focus-navigation.md) — Provides a mechanism to remove focus from input boxes to return to primary navigation. ([source](https://github.com/gdh1995/vimium-c/wiki/Trigger-commands-in-an-input-box))

### Programming Languages & Runtimes

- [Configurable Key-to-Command Mappings](https://awesome-repositories.com/f/programming-languages-runtimes/input-key-mappings/configurable-key-to-command-mappings.md) — Provides a configurable system for mapping keyboard keys to specific internal browser and page commands.
- [Contextual Mappings](https://awesome-repositories.com/f/programming-languages-runtimes/input-key-mappings/configurable-key-to-command-mappings/contextual-mappings.md) — Provides keyboard shortcuts that automatically adapt based on the website host or active page element. ([source](https://github.com/gdh1995/vimium-c/wiki/Map-a-key-to-different-commands-on-different-websites))

### Web Development

- [Browser Keyboard Extensions](https://awesome-repositories.com/f/web-development/browser-keyboard-extensions.md) — Implements a browser extension that maps text-editor-style keyboard commands to browser navigation and tab management.
- [Content Script Injection Architectures](https://awesome-repositories.com/f/web-development/custom-page-frameworks/page-content-injections/script-injections/content-script-injection-architectures.md) — Uses an architecture that injects content scripts into browser tabs to intercept events and manipulate the DOM.

### Data & Databases

- [Text Search and Marking](https://awesome-repositories.com/f/data-databases/text-search-and-marking.md) — Provides tools to locate text on a page using search queries and move to saved markers. ([source](https://cdn.jsdelivr.net/gh/gdh1995/vimium-c@master/README.md))

### DevOps & Infrastructure

- [Conditional Command Executions](https://awesome-repositories.com/f/devops-infrastructure/conditional-command-executions.md) — Enables the execution of action sequences based on the success or failure of previous commands using branching logic. ([source](https://github.com/gdh1995/vimium-c/wiki/Auto-run-a-tree-of-commands))

### Operating Systems & Systems Programming

- [Insert Mode Mappings](https://awesome-repositories.com/f/operating-systems-systems-programming/keyboard-input-modes/insert-mode-mappings.md) — Enables the creation of keyboard shortcuts that function while typing in text fields. ([source](https://github.com/gdh1995/vimium-c/wiki/Trigger-commands-in-an-input-box))

### Software Engineering & Architecture

- [Host-Based Configurations](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/domain-specific-configurations/host-based-configurations.md) — Allows the loading of unique keyboard mapping sets based on the current website host or URL pattern.
- [Command Sequence Branching](https://awesome-repositories.com/f/software-engineering-architecture/conditional-branching/command-sequence-branching.md) — Implements logic to execute sequences of actions based on the success or failure of previous operations via branching.
- [CSS Selector Engines](https://awesome-repositories.com/f/software-engineering-architecture/syntax-query-definitions/css-selector-engines.md) — Implements a CSS-style selector engine to identify and interact with specific web page elements.

### Testing & Quality Assurance

- [Accessibility Navigation Tools](https://awesome-repositories.com/f/testing-quality-assurance/browser-based-accessibility-auditing/accessibility-navigation-tools.md) — Provides a keyboard interface that enables users to interact with web content by bypassing mouse-dependent navigation.
