# smooth vi

> Simple and smooth vi mode for viewing web pages

Canonical page: [https://chrome-stats.com/d/smooth-vi](https://chrome-stats.com/d/smooth-vi)

## Overview

- **ID:** `smooth-vi`
- **Platform:** Firefox
- **Type:** Firefox add-on
- **Status:** Available
- **Publisher:** Karl Felix Schewe
- **Category:** other
- **Daily users:** 9
- **Weekly downloads:** 2
- **Rating:** 5.00 / 5 (1 ratings)
- **Version:** 1.5
- **Last updated:** 2024-11-02
- **First published:** 2024-10-23
- **Size:** 40 KB
- **Data as of:** 2026-09-05
- **Store listing:** [Firefox Add-ons Store](https://addons.mozilla.org/firefox/addon/smooth-vi/)
- **Website:** [https://github.com/kardwen/firefox-smooth-vi](https://github.com/kardwen/firefox-smooth-vi)

## Description

This extension for Firefox provides a minimal vi mode for viewing web pages that requires no configuration to minimize conflicting keybindings. <i>vi mode</i> is activated by pressing <code>(Esc)</code>, similar to the way you can switch to normal mode in vi to navigate a file. In <i>vi mode</i>, you can scroll using the traditional vi keybindings. The movement is smooth and accelerates as you hold down a key. This is similar to the default behaviour of the arrow keys in Firefox.

The uniqueness of this approach is that any other unbound key, mouse click or touch input will deactivate <i>vi mode</i>, so you're unlikely to run into the problem of having to create individual configurations for many web pages (in fact, you can't). It does provide a nice way of reading web pages with a comfortable keyboard layout, without having to use the arrow keys, touchpad or mouse very often. 

Additional features:
* <i>vi mode</i> status indicator for toolbar
* Scrolling speed and acceleration settings

<b>Keybindings</b>

<code>
(Esc) Activate vi mode
(h)   Move left
(j)   Move down
(k)   Move up
(l)   Move right
(g)   Move to the top of the page
(G)   Move to the bottom of the page
(i)   Deactivate vi mode

Any other key, with the exception of (Shift),
deactivates vi mode again.
</code>

The interesting detail here is that under the hood, events for keys other than those specified above from <code>(h)</code> to <code>(i)</code> are not captured. This means, for example, that you can type <code>(t)</code> on GitHub in <i>vi mode</i> to get to the search bar and at the same time disable <i>vi mode</i> to search for a file.

Note that add-ons are disabled on sites for managing Firefox settings and add-ons.

<b>Limitations</b>

It will conflict with dedicated vi or Vim (vi improved) emulations for editing text on web pages, because with those implementations <code>(Esc)</code> is probably used to enter command mode to move the cursor with hjkl inside a text field. On the contrary, this add-on uses <code>(Esc)</code> to enter a mode for moving the viewport of the web page.

On pages that bind an action to <code>(Esc)</code>, the functionality of the page is usually not restricted, because <i>vi mode</i> will only be briefly active and can be immediately disabled by following <code>(i)</code>.

<a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/2d6c3c161196ce903b8d389242b8492832d15339f9b077fb0c54877d8a61a856/https%3A//github.com/kardwen/firefox-smooth-vi" rel="nofollow">GitHub repository</a>

GPL-3.0 license

## Rankings

- #34,645 — Overall
- #77 — deactivate

## Permissions and access

### Permissions

- `storage`

### Content script matches

- `*`

## Safety

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

### Analysis details

- Allows access to all websites, posing a significant security risk as it can monitor and modify data from any visited site.
- This extension has low user count. Unpopular extensions 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

- [comfortableNavigation](https://chrome-stats.com/d/comfortablenavigation)
- [Simple Vim Scrolling](https://chrome-stats.com/d/simple-vim-scrolling)
- [vimode](https://chrome-stats.com/d/vimode) — 1 users
- [vimkeybindings](https://chrome-stats.com/d/vimkeybindings) — 81 users, 5.00 / 5
- [vimkeybindings Improved](https://chrome-stats.com/d/vimkeybindings-improved)
- [Right Mouse Click Scroll](https://chrome-stats.com/d/roght-mouse-click-scroll) — 3 users, 5.00 / 5
- [Modeless Keyboard Navigation](https://chrome-stats.com/d/modeless-keyboard-navigation) — 3 users
- [minimal-vim-emulation](https://chrome-stats.com/d/minimal-vim-emulation) — 3 users
- [SmoothScroll-plus](https://chrome-stats.com/d/smoothscroll-plus) — 181 users, 4.23 / 5
- [Vi Editing Mode](https://chrome-stats.com/d/vi-editing-mode) — 40 users, 5.00 / 5
- [Yet Another Smooth Scrolling WE](https://chrome-stats.com/d/yass-we) — 2,786 users, 4.24 / 5
- [Miv](https://chrome-stats.com/d/miv) — 1 users

---

Source: [Chrome-Stats](https://chrome-stats.com/d/smooth-vi)
