Features
For more information how to use these features to their full potential,
check the built-in offline help documentation by pressing F1 while running Vieb.
Modes
- 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
Free
- Free and open source code, fork and contribute on the github repository
- Discuss or suggest features on github discussions
- Make your own builds using clear instructions included in the readme
Local first
- Automatically suggests previously visited websites from your local history
- Also suggests command names and arguments from memory
- Configure how many suggestions should be shown
- Fast and completely offline adblocking
- AMP protection using local custom redirects setting
- Offline help documentation available with F1
Privacy
- Strict permission system with custom permission allowlist and blocklists
- Hide privacy sensitive navigator fields from websites
- Set a custom useragent and Vieb will match the navigator properties accordingly
- Hide and block local WebRTC addresses but allow the protocol to be used with external addresses
- Vieb never sends data outside of website requests and opt-in user-enabled features
- Optionally switch adblocker to update or check for updates on the version page
- Not ever-green by design: update Vieb when you want to and how you want to
Accessible
- Unified theme engine for all UI elements and built-in pages with simple CSS
- Switch between dark and light themes, or create your own custom theme
- Unified and consistent font and interface scaling using the fontsize setting
- Remembers your zoom level per site, which can also be reset at anytime with Ctrl-0
- Example configs to make Vieb work similar to other browsers such as Firefox, qutebrowser and many more
- Vieb is keyboard focussed, not limited, you can use the mouse for many features you are used to from other browsers
Security settings
- Detailed permission settings, for notifications, fullscreen, microphone, openExternal and many more
- Secure default permissions for more security and less distractions
- Configure how to cache websites: clear on quit, or disabled entirely
- Show favicons with a custom cache expiration duration (or disable)
- Optionally clear cookies and/or localstorage automatically on quit
- View individual cookies and delete them at will
- Change download behavior from automatic to ask, confirm or block them completely
Window splitting
- Display multiple websites in vertical and horizontal splits
- Navigate between open webpages with the buffer command
- Open new vertical splits with Vexplore or vsplit
- Open new horizontal splits with Sexplore or split
- Navigate between splits with Ctrl-w bindings, such as Ctrl-w and then hjkl
- Resize and re-order splits with Ctrl-w and then -, +, <, > or r
- Reset the custom split sizes with Ctrl-w and then =
Map commands
- Define custom keybindings using familiar map, nmap, nnoremap commands
- Map sets for all modes, while nmap, vmap, cmap and the others are mode-specific
- Use mapclear to remove all custom mappings for all modes
- Also clear built-in mappings with mapclear!
- Map keystrokes recursively to other keystrokes, using characters or the <>-notation
- Keybindings that require multiple keys use the showcmd, timeout and timeoutlen settings
- Recursive mappings will be limited to the maximum recursion depth set with maxmapdepth
Viebrc
- Store custom settings in a viebrc configuration file
- Loaded from the Vieb data folder and from ~/.viebrc
- Execute Vieb commands, such as map, set, command or call
- Can also be created based on the current settings by the mkviebrc command
- Example configs available offline for: Firefox, Chromium, Vimium, Tridactyl and more
Set command
- Read, append, update or unset any setting/option using the set command
- Auto-completion for setting names and common values
- Support for all of Vim's operators, such as +=, -=, ^=, & and ?
- Add multiple arguments to the set command to read/write multiple settings at once
- Reset individual settings or "all" to the Vieb default with the & suffix
- Reload all settings from your Viebrc with the reload command
Vim-compatible options
- Many settings and commands compatible with Vim, including:
- :buffer for switching between opened pages by index or name
- :close for closing opened pages by index or name
- :command for making custom commands
- :colorscheme with support for custom themes
- ignorecase case-insensitive search
- incsearch show search results incrementally when typing
- :hardcopy print a hardcopy onto paper
- :hide hide a page by name or index while splitting windows
- :map including variants, see "Map commands" paragraph above
- maxmapdepth see "Map commands" paragraph above
- :mkv short for mkviebrc instead of mkvimrc
- mouse enable or disable mouse support, on by default
- mousefocus switch to tabs or window splits on hover
- :quit(all) exit Vieb (or close the current page if split)
- :set as explained in the previous "Set command" paragraph
- showcmd show pressed keys part of long mappings
- smartcase case-sensitive search only when using any capital letters
- spell toggle spellchecking, on by default
- spelllang set the list of allowed languages
- :split open a horizontal split
- splitbelow create splits below current
- splitright create splits right of current
- timeout timeout toggle for typing mappings and such
- timeoutlen duration of said timeout
- :vsplit open a vertical split
- :write write a page to disk
- Scrolling with j, k, <C-d>, <C-u> etc.
- Most if not all <C-w> mappings and related commands
- Edit input fields in your favorite editor by setting the vimcommand option
Container tabs
- Enable container tabs to separate browsing data from other tabs
- Use the same container name multiple times to group multiple tabs
- Color-code container names in the tabbar based on name
- Manage individual cookies per container, but view aggregates of other data such as downloads
- Remembers your previous browsing session, including container name
- Automatically clear data for containers prefixed with "temp"
Ad-blocker
- Integrated ad-blocker with cosmetic filtering
- Works fast and completely offline
- Optionally auto-update the lists or add your own
- Supports custom lists and uses easylist and easyprivacy by default
Tabs
- Set the minimum tab width, this differs a lot between other browsers
- Tabs can be suspended with a command, on a timer and automatically on startup (like in Firefox)
- When viewing multiple pages simultaneously, an orange indicator is present for the focussed tab
- Shows a blue indicator for tabs that are currently producing sound, such as music or videos
- Shows a white indicator for tabs that are muted
- Shows a yellow indicator for tabs that are muted and are producing sound, such as music or videos
- Tabs can be wrapped over multiple rows, this mode will always show all opened tabs in the bar
- Tabs can be pinned with ":pin", which keeps them neatly aligned and always restores them on restart
- When loading new pages, Vieb will default to loading HTTPS and can block redirects to HTTP
Want to try Vieb? Visit the downloads page
Remember that you can view the help documentation inside Vieb with F1