Browser Vim - A Chrome extension that brings basic, essential Vim keybindings to text fields on your favorite websites. Navigate and edit text with familiar Vim motions without leaving your browser.
Mode Management:
Esc- Enter Normal mode from any editable fieldi- Enter Insert mode to resume normal typing
Basic Movement:
h/←- Move cursor leftl/→- Move cursor rightj/↓- Move cursor downk/↑- Move cursor up
Word Movement:
w- Jump forward to the start of the next wordb- Jump backward to the start of the previous word
Editing Commands:
dw- Delete word (including trailing whitespace)cw- Change word (delete word without trailing whitespace and enter Insert mode)
Visual Features:
- Mode indicator - Shows current mode (NORMAL/INSERT/DELETE/CHANGE) in bottom-right corner
- Cursor color changes - Red cursor for Normal mode, green cursor for Insert mode (optional)
- Colored mode indicator - Red background for Normal mode, green for Insert mode (optional)
Universal Features:
- Arrow key navigation - Works on ALL websites (even when vim keybindings are disabled)
- Smart element detection - Automatically works with textareas, input fields, and contentEditable elements
- Site-specific control - Enable/disable vim keybindings per website
- FSM-based state management - Robust finite state machine handles mode transitions and command sequences
Language Support:
- Optimized for English text - Works best with Latin characters and English content
- Limited CJK support - Cursor movement may not work correctly with Chinese, Japanese, or Korean characters
Access the options page to customize your experience:
- Toggle Extension - Quickly enable/disable the extension
- Manage Websites - Add/remove sites where vim keybindings should be active
- Mode Indicator Colors - Choose between colored indicators (red for Normal, green for Insert) or classic black
- Cursor Colors - Enable/disable cursor color changes for mode indication
- GitHub (
https://github.com/*) - ChatGPT (
https://chatgpt.com/*) - Google Gemini (
https://gemini.google.com/*) - Notion (
https://www.notion.so/*)
Editing Commands:
-
x- Delete character under cursor -
r- Replace single character
Search & Navigation:
-
/- Search forward -
?- Search backward -
n- Next search result -
N- Previous search result -
gg- Go to first line -
G- Go to last line
Since Bvim is not yet published on the Chrome Web Store, you'll need to install it manually as an unpacked extension:
-
Download the extension
- Clone this repository:
git clone https://github.com/hzionn/bvim.git - Or download the ZIP file and extract it to a folder
- Clone this repository:
-
Open Chrome Extensions page
- Navigate to
chrome://extensions/in your browser - Or go to Chrome menu → More tools → Extensions
- Navigate to
-
Enable Developer mode
- Toggle the "Developer mode" switch in the top-right corner of the extensions page
-
Load the extension
- Click the "Load unpacked" button that appears
- Select the
bvimfolder (the root directory containingmanifest.json)
-
Verify installation
- The Bvim extension should now appear in your extensions list
- You'll see the extension icon in your browser toolbar
- Navigate to any supported website (or add new sites in options)
- Click on any text field, textarea, or editable element
- Press
Escto enter Normal mode - Use vim keybindings to navigate and edit
- Press
ito return to Insert mode for regular typing
The mode indicator in the bottom-right corner shows your current mode and will change colors if you have colored indicators enabled. When typing commands like dw or cw, the indicator will show DELETE or CHANGE modes respectively.
⭐ If Bvim helps improve your browsing experience, please consider starring this repository! Your support helps others discover this project and motivates continued development.