Skip to content
Vim Inspired Electron Browser - Vim bindings for the web by design
JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create FUNDING.yml Jun 19, 2019
app fix for empty location bugs Aug 13, 2019
examples improve cursor and visual mode + rework downloads + minor fixes Jun 19, 2019
.editorconfig rework electron-builder icons + update deps Jun 26, 2019
.gitignore initial commit Jan 13, 2019 fix for empty location bugs Aug 13, 2019
LICENSE initial commit Jan 13, 2019 simplify readme a lot Jul 4, 2019
build.js add special pages handler + rework electron builder config + misc cha… Mar 24, 2019
electron-builder.yml update vieb to new release Jul 29, 2019
package.json open new tabs in a new tab + update deps Aug 13, 2019



Vim Inspired Electron Browser

github - releases - changelog - donate

Vim bindings for the web by design


  • Browse the web with Vim-bindings
  • Switch between insert, command, normal mode and more
  • Dark theme with custom font size for all UI elements
  • Change many other settings, such as history management or download behaviour
  • Default to https (and optionally configure Vieb to redirect when https is unavailable)
  • Very detailed offline documentation/help always available upon pressing F1
  • Custom keybindings can be configured for most actions


  • Normal mode: Plenty of movement and switch options, most of them available by pressing a single key
  • Insert mode: Regular interaction with the webpage, only mode with mouse support, also used for typing text
  • Command mode: Access more complex functionality by entering commands with auto-completion
  • Search mode: Enter a search string and easily jump to next and previous matches
  • Nav mode: Enter a url (blue border) or a search request (orange border) with auto-completion from history
  • Follow mode: Simulate click events on urls, buttons, input fields and more
  • Cursor mode: Move a simulated cursor using the keyboard and execute clicks, hovers, image downloads and more
  • Visual mode: Select any text on the page using familiar Vim bindings

Press F1 at any time when using Vieb to find out more.

You can view the default settings and keybindings directly, but these are also found in the help documentation inside Vieb.

Starting Vieb

To get started with Vieb, download a stable release from the github release page. These releases require no additional software and can be downloaded for a specific platform.

Alternatively you can download/clone the repo and use Vieb like this:

git clone
cd Vieb
npm install
npm start

Vieb can be started without any required arguments, but it does support them when needed. Use the --help argument for more information.

Configuring Vieb

To change the keybindings or any other setting of Vieb, the viebrc.json file should be created and/or changed. The file should be created in the AppData or .config folder of Vieb:

  • Windows - %APPDATA%\Vieb\viebrc.json
  • Mac - ~/Library/Application Support/Vieb/viebrc.json
  • Linux - ~/.config/Vieb/viebrc.json

There should be chromium/electron related files in this directory, if Vieb was started at least once. It is also the location of the download and browsing history, but these can be disabled separately in the settings.

Please see the Default settings for all options, the syntax of the viebrc.json is identical to these defaults. Settings can be changed at runtime with the :set command.

There are examples to make Vieb behave more like Chromium and Firefox. These examples can be used as the starting point for your own config. Feel free to change these to your liking, or even make a pull request to improve them.

For more details about settings, usage or anything else, read the built-in offline documentation using :help, :help settings or the F1 key.

Improving Vieb

Feel free to report issues for feature requests, bugs or any other changes. If you are interested in contributing code, make sure to follow these guidelines when working on it:

  • Use Vim to edit :)
  • Follow the included eslint style guide (using ALE or similar)
  • Use editorconfig (there is a Vim plugin available)

If you are looking for anything specific to improve, check the unassigned issues or nice to haves.



Vieb is created by Jelmer van Arnhem and contributors. See the source files for individual authors.

You can copy or modify the code/program under the terms of the GPL3.0 or higher. For more information and legal terms see the LICENSE file.


Logo is created by Jelmer van Arnhem and can also be copied/modified as described in the LICENSE file. It is clearly based on the original Vim logo, which can be found as an svg file on Wikipedia. As is explained on the official Vim website the logo consists of a green diamond with the text Vim displayed above it. The Vieb logo (while based on the Vim logo) contains neither the green diamond nor the Vim text, and is therefor considered to be sufficiently different from the original Vim logo.

You can’t perform that action at this time.