Vim bindings for the web by design
Vieb is the Vim Inspired Electron Browser
Free, open source, fast and secure
Local first adblocking, auto-complete, AMP protection, custom redirects and more, all without web requests
Privacy with strict permission system, navigator overrides, firefox mode, custom WebRTC policy and more
Accessible with custom themes, full interface & fontsize scaling, page zooming and mouse support
Security settings with permissions, cache usage, cookie management, (auto-)download settings and more
Window splitting with split, Vexplore and Ctrl-w bindings, for multi-window browsing
Map commands for completely custom keyboard sequences, keystrokes, commands and actions
Viebrc config file for all custom/Vim/Vieb commands to configure settings permanently
Set command for runtime setting configuration exactly like Vim
Vim-compatible options like showcmd, timeout, colorscheme, maxmapdepth, spelllang, splitright, ignorecase etc.
Container tabs with colored grouping, auto-clearing, individual cookies and tab restore from containers
Ad-blocker with optional updater and custom list support, default to: easylist and easyprivacy
Tabs including audio indicator, a toggle for multi-line tabs, pinned tabs and a configurable minimal tab width
Offline help documentation always available upon pressing F1
- And much, much more
Normal: Plenty of movement and switch options, most of them available by pressing a single key
Command: Access more complex functionality by entering commands with auto-completion
Explore: Enter a search (orange), navigate to websites (cyan) or browse files (yellow) with auto-completion
Follow: Simulate click events on urls, buttons, input fields and more
Search: Enter a search string and easily jump to next and previous matches
Pointer: Move a simulated cursor using the keyboard and execute clicks, hovers, image downloads and more
Visual: Select (and optionally copy) any text on the page using familiar Vim bindings
Insert: Regular interaction with the webpage, mostly used for typing text
F1 at any time when using Vieb to find out more,
or check the full list of Vieb's capabilities on the website.
With the "erwic" startup option, you can "Easily Run Websites In Containers".
The purpose of this option is similar to programs such as Franz, Ferdi or Rambox.
It can also replace other Electron-based desktop apps such as Slack or Discord.
These instances of Vieb can run separately from your existing Vieb.
See Erwic.md for usage and details.
You can download the latest stable release from the official Vieb website.
Alternatively, you can also view the previous releases on Github.
For startup help, see the frequently asked questions.
You can help by reporting issues and suggesting new features on the Github issue tracker.
Another way to help is by supporting Jelmerro on ko-fi.
Donating is completely optional because Vieb will always be free and open source.
If you know how to write Electron applications, you can also help by writing code.
Check the 'help wanted' issues for suggestions on what to work on.
Please try to follow these guidelines while working on Vieb:
- Use Vim to edit :)
- Follow the included eslint style guide
- Use editorconfig for indentation
For an example vimrc that is configured to use these tools, you can check out my personal vimrc.
To create your own builds or run Vieb from source, you need to install Node.js.
The next step is to clone the repository or download the source code.
After downloading, make sure you are in the cloned/extracted Vieb folder and run:
If this runs Vieb as expected, you can generate builds for your specific platform with:
npm run build
To see the full list of run and build options, simply execute
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.