Vimma
vimma (Finnish) a burst of eager, focused energy. The name
A browser for people who live in the terminal: Vim modes on every page, tmux-style workspaces and splits.
Your fingers already know the keys. Bare keys drive the page, ctrl+b drives tabs, panes and workspaces, and your hands never leave the keyboard. Firefox is underneath, so your sites and add-ons come along.
session
- A page in normal mode. Your keys drive it; the mouse can rest.
- f puts a short label on every link you can see.
- f is the first link's label: type it and the link opens.
- ctrl+b is the prefix, as in tmux: the next key acts on the window.
- v splits right: two pages side by side.
- ctrl+b ) goes to the next workspace, with cookies and logins of its own.
- ctrl+b ? shows every binding; / filters them.
Why not just Firefox with an extension?
Extensions live inside the page. Vimma lives in the browser.
So the keys work where extensions can't, nothing steals them, and tabs, panes and workspaces answer to the same keymap.
What it does
-
Modal pages
j k gg G / :
Read, scroll, find and run
:commands from the home row. Focus a field and you type as usual; Esc brings you back. -
Link hints
f F
Every link, button and field on screen gets a short label, in frames from other sites too. Type it to follow the link, or to open it in a background tab.
-
Workspaces as containers
ctrl+b ( ctrl+b ) ctrl+b w
Keep work and personal apart. Each workspace is a Firefox container with its own cookies, logins, tabs, split and bookmarks folder, and all of it comes back after a restart. ctrl+^ toggles back, as Vim's alternate buffer.
-
Split panes
ctrl+b v ctrl+b enter ctrl+b space
Pages side by side. Move between them with ctrl+b h/j/k/l, zoom, swap and resize, and cycle tmux's layout presets, tiled and spiral included.
-
Status bar
ctrl+b ?
One line that always tells you where you are: mode, pending keys, workspace,
tab 2/5, title, URL and find matches. The session above draws one. -
Side panel
ctrl+b b
The workspace's tabs down the left of the window, there only when you ask. j/k and Enter to go, x to close, 1…9 to jump.
-
Bookmarks
ctrl+b a ctrl+b shift+b
Each workspace has its own folder: file a page as you type its path, then find it again in a tree you filter with /. They are Firefox's bookmarks, so Sync and your imports come along.
-
Add-ons on a key
ctrl+b e
:addonOpen your password manager or ad blocker from the keyboard, and turn add-ons on and off, update or remove them without touching the toolbar.
-
Every key is yours
config.tomlThe defaults are a starting point. Remap any binding, the ctrl+b prefix and the space leader in
~/.config/vimma/config.toml; changes apply as you save. How. -
Themes
[theme]Tokyo Night by default, with any colour yours to change. It can also follow your desktop's theme. How.
-
Privacy defaults
about:configNo studies, no telemetry upload, no crash reporter, no sponsored content or promos. Each default is one switch away in
about:config. -
Firefox-compatible
Firefox 157Built on Firefox's release channel, so the web works as you expect: sites see Firefox's user agent byte for byte, and add-ons treat Vimma as Firefox.
the name
Vimma is Finnish for a burst of eager, focused energy. You hear it in työvimma: a spell of work where everything flows and the hours slip by. It also happens to start with Vim. That is how browsing should feel: fast, fluent and absorbed.
status: pre-alpha
Everything ticked below works today, and its author uses Vimma every day ahead of a first release. No binaries yet: you build from source, on Linux x86_64. Version 0.1.0, on Firefox 157.0.1.
- Done: M0 fork, build pipeline, control socket, end-to-end tests
- Done: M1 modal page layer: scrolling, hints, find, copy mode, back, forward and reload
- Done: M2 tab keys, status bar, goto picker
- Done: M3 workspaces
- Done: M4 split panes
- Done: M5
config.tomland theming - To do: M6 packages and updates (the tooling exists; releases wait)