Vim Inspired Electron Browser
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
- 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
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.
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 https://github.com/Jelmerro/Vieb.git cd Vieb npm install npm start
Vieb can be started without any required arguments,
but it does support them when needed.
--help argument for more information.
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 -
- Mac -
- Linux -
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
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 settings or the
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)
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.