# Monaco Vim Keys

> Vim key bindings and relative line numbers for Monaco-based coding practice sites (LeetGPU, LeetCode, LeetCode China, HackerRank, LintCode), with per-site toggles and a floating NORMAL/INSERT/VISUAL mode indicator.

Canonical page: [https://chrome-stats.com/d/monaco-vim-keys](https://chrome-stats.com/d/monaco-vim-keys)

## Overview

- **ID:** `monaco-vim-keys`
- **Platform:** Firefox
- **Type:** Firefox add-on
- **Status:** Available
- **Publisher:** Jim
- **Category:** web-development
- **Daily users:** 1
- **Version:** 0.1.0
- **Last updated:** 2026-08-31
- **First published:** 2026-08-28
- **Size:** 102 KB
- **Data as of:** 2026-09-12
- **Store listing:** [Firefox Add-ons Store](https://addons.mozilla.org/firefox/addon/monaco-vim-keys/)
- **Website:** [https://github.com/BANANASJIM/monaco-vim-keys/issues](https://github.com/BANANASJIM/monaco-vim-keys/issues)

## Description

Monaco Vim Keys brings NeetCode-style editor settings to the Monaco code editors on popular coding practice sites. It attaches the mature monaco-vim keybinding engine to the editor the site already loads — no remote code, no account, nothing leaves your browser.

Features:
<ul><li>Full vim key bindings (default ON): NORMAL/INSERT/VISUAL modes, motions (hjkl, w/b/e, 0/$, gg/G, counts), operators (d, c, y, x, r), undo/redo, o/O/A, / search, and more.</li><li>Relative line numbers (default OFF).</li><li>A subtle floating mode indicator (NORMAL / INSERT / VISUAL) next to the editor.</li><li>Per-site enable toggles plus global Vim / relative-line-number toggles in the toolbar popup. Settings persist and apply instantly — no page reload.</li></ul>
Supported sites:
<ul><li><a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/7526df109fe5e46a9920645a1fc4782e8f89125046867871b98d9426d7af89f0/http%3A//leetgpu.com" rel="nofollow">leetgpu.com</a></li><li><a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/38bfcd362f1787de4f850620bfd49db1b26c8fb561bd46a4f5572949df99d104/http%3A//leetcode.com" rel="nofollow">leetcode.com</a></li><li><a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/e69c4a23945183afd55028c67837885f1c8b3298dade88c054aba502bd943dcc/http%3A//leetcode.cn" rel="nofollow">leetcode.cn</a></li><li><a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/f7309dc26f97d74bad01dd391116f3a4b8a1ca8eac8557ae045b918c959396de/http%3A//www.hackerrank.com" rel="nofollow">www.hackerrank.com</a></li><li><a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/c32475ed1db9d558e2c429eb8633ef6b5d694690e4fe5feecd615c0d9c0ae364/http%3A//www.lintcode.com" rel="nofollow">www.lintcode.com</a> (caveat: older Monaco without getEditors(); vim attaches when the editor is created or recreated by the page)</li></ul>
Not supported on purpose: <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/66a622a436bd966897cfb5a27ffcba8a5fbfd075807e67db1cfc1011c378818c/http%3A//neetcode.io" rel="nofollow">neetcode.io</a> and <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/e873fc1faf99304860e06e79b28b5c7aee18ad16bc660aec899ccdbd214432e9/http%3A//codingame.com" rel="nofollow">codingame.com</a> already ship native vim support; <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/f041fb5d93caf0fbb6970b14d0c973610dba8a5f10ffbdf1991d8741ff690c6f/http%3A//codewars.com" rel="nofollow">codewars.com</a>, <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/dbde95ac60898ae08a0b072c9cfb9dc6ec9423ed2c0ec94f88b9906d43ac3d0c/http%3A//algoexpert.io" rel="nofollow">algoexpert.io</a>, <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/1f857548c5c2f4f5f9f4d99845f29d6a32c310d6cd3de4ffa221e422236b253e/http%3A//codeforces.com" rel="nofollow">codeforces.com</a>, <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/838b057a1aea871253c41e4f8159004d4f277dd66545b1c74ec575216f0898f0/http%3A//exercism.org" rel="nofollow">exercism.org</a> and <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/89402a72ec054069c5b0dc77d010c548e537a80c8fddc79603b498899105c771/http%3A//atcoder.jp" rel="nofollow">atcoder.jp</a> do not use the Monaco editor.

Unofficial project — not affiliated with or endorsed by any of the supported sites. Requests no permission besides "storage"; runs only on the listed sites.

Source code, build instructions, and issue tracker:
<a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/d858e45d00470dc340b754725e1fc7d944f43a80c325ce812ff91d25f1d104d4/https%3A//github.com/BANANASJIM/monaco-vim-keys" rel="nofollow">https://github.com/BANANASJIM/monaco-vim-keys</a>

## Rankings

- #125,377 — Overall
- #162 — leetcode

## Permissions and access

### Permissions

- `storage`

### Content script matches

- `leetgpu.com`
- `leetcode.com`
- `leetcode.cn`
- `www.hackerrank.com`
- `hackerrank.com`
- `www.lintcode.com`
- `lintcode.com`

## Safety

- **Risk impact:** Low risk impact
- **Risk likelihood:** High risk likelihood

### Analysis details

- Injects scripts into web pages, which may alter or extract site contents, resulting in a substantial risk.
- This extension was recently updated in the past month. New updates may not be stable or safe.

> Some risk analysis details are omitted from this free response. [Upgrade to view the full analysis](https://chrome-stats.com/pricing).

## Similar extensions and apps

- [Fastimba](https://chrome-stats.com/d/fastimba)
- [Monaco theme](https://chrome-stats.com/d/monaco-theme)
- [ViHN: keyboard navigation for Hacker News](https://chrome-stats.com/d/vihn) — 12 users, 5.00 / 5
- [Vim What?](https://chrome-stats.com/d/vim-what) — 8 users, 5.00 / 5
- [Paste for Monaco](https://chrome-stats.com/d/paste-for-monaco) — 2 users
- [vimkeybindings](https://chrome-stats.com/d/vimkeybindings) — 84 users, 5.00 / 5
- [minimal-vim-emulation](https://chrome-stats.com/d/minimal-vim-emulation) — 3 users
- [Vim nav](https://chrome-stats.com/d/vim-nav)
- [CX Enable Vim](https://chrome-stats.com/d/cx-enable-vim) — 13 users, 5.00 / 5
- [Code Editor](https://chrome-stats.com/d/code-editor) — 619 users, 4.00 / 5
- [Vimium](https://chrome-stats.com/d/vimium-ff) — 43,474 users, 4.82 / 5
- [Leetcode relative line number](https://chrome-stats.com/d/leetcode-relative-line-number) — 1 users

---

Source: [Chrome-Stats](https://chrome-stats.com/d/monaco-vim-keys)
