philc/vimium
{ "createdAt": "2009-09-20T07:08:19Z", "defaultBranch": "master", "description": "The hacker's browser.", "fullName": "philc/vimium", "homepage": "https://chromewebstore.google.com/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb", "language": "JavaScript", "name": "vimium", "pushedAt": "2025-11-19T06:27:16Z", "stargazersCount": 25648, "topics": [], "updatedAt": "2025-11-27T06:24:09Z", "url": "https://github.com/philc/vimium"}Vimium - The Hacker’s Browser
Section titled “Vimium - The Hacker’s Browser”Vimium is a browser extension that provides keyboard-based navigation and control of the web in the spirit of the Vim editor.
Installation instructions:
- Chrome: Chrome web store
- Edge: Edge Add-ons
- Firefox: Firefox Add-ons
To install from source, see [here]!(CONTRIBUTING.md#installing-from-source).
Vimium’s Options page can be reached via a link on the help dialog (type ?) or via the button next
to Vimium on the extension pages of Chrome and Edge (chrome://extensions), or Firefox
(about:addons).
Keyboard Bindings
Section titled “Keyboard Bindings”Modifier keys are specified as <c-x>, <m-x>, and <a-x> for ctrl+x, meta+x, and alt+x
respectively. For shift+x and ctrl-shift-x, just type X and <c-X>. See the next section for how
to customize these bindings.
Once you have Vimium installed, you can see this list of key bindings at any time by typing ?.
Navigating the current page:
? show the help dialog for a list of all available keysh scroll leftj scroll downk scroll upl scroll rightgg scroll to top of the pageG scroll to bottom of the paged scroll down half a pageu scroll up half a pagef open a link in the current tabF open a link in a new tabr reloadgs view sourcei enter insert mode -- all commands will be ignored until you hit Esc to exityy copy the current url to the clipboardyf copy a link url to the clipboardgf cycle forward to the next framegF focus the main/top frameNavigating to new pages:
o Open URL, bookmark, or history entryO Open URL, bookmark, history entry in a new tabb Open bookmarkB Open bookmark in a new tabUsing find:
/ enter find mode -- type your search query and hit enter to search, or Esc to canceln cycle forward to the next find matchN cycle backward to the previous find matchFor advanced usage, see regular expressions on the wiki.
Navigating your history:
H go back in historyL go forward in historyManipulating tabs:
J, gT go one tab leftK, gt go one tab rightg0 go to the first tab. Use ng0 to go to n-th tabg$ go to the last tab^ visit the previously-visited tabt create tabyt duplicate current tabx close current tabX restore closed tab (i.e. unwind the 'x' command)T search through your open tabsW move current tab to new window<a-p> pin/unpin current tabUsing marks:
ma, mA set local mark "a" (global mark "A")`a, `A jump to local mark "a" (global mark "A")`` jump back to the position before the previous jump -- that is, before the previous gg, G, n, N, / or `aAdditional advanced browsing commands:
]], [[ Follow the link labeled 'next' or '>' ('previous' or '<') - helpful for browsing paginated sites<a-f> open multiple links in a new tabgi focus the first (or n-th) text input box on the page. Use <tab> to cycle through options.gu go up one level in the URL hierarchygU go up to root of the URL hierarchyge edit the current URLgE edit the current URL and open in a new tabzH scroll all the way leftzL scroll all the way rightv enter visual mode; use p/P to paste-and-go, use y to yankV enter visual line modeR Hard reload the page (skip the cache)Vimium supports command repetition so, for example, hitting 5t will open 5 tabs in rapid
succession. <Esc> (or <c-[>) will clear any partial commands in the queue and will also exit
insert and find modes.
There are additional commands which aren’t included in this README; refer to the help dialog (type ?) for a
full list.
Custom Key Mappings
Section titled “Custom Key Mappings”You may remap or unmap any of the default key bindings in the “Custom key mappings” on the options page.
Enter one of the following key mapping statements per line:
map key command: Maps a key to a Vimium command. Overrides Chrome’s default behavior for that key, if any.unmap key: Unmaps a key and restores Chrome’s default behavior (if any).unmapAll: Unmaps all bindings. This is useful if you want to completely wipe Vimium’s defaults and start from scratch with your own setup.
Examples:
map <c-d> scrollPageDownmaps ctrl+d to scrolling the page down. Chrome’s default behavior of showing a bookmark dialog is suppressed.map r reload hardmaps the r key to reloading the page, and also includes the “hard” option to hard-reload the page.unmap <c-d>removes any mapping for ctrl+d and restores Chrome’s default behavior.unmap rremoves any mapping for the r key.
See the docs for every Vimium command and its options.
You can add comments to key mappings by starting a line with " or #.
The following special keys are available for mapping:
<c-*>,<a-*>,<s-*>,<m-*>for ctrl, alt, shift, and meta (command on Mac) respectively with any key. Replace*with the key of choice.<left>,<right>,<up>,<down>for the arrow keys.<f1>through<f12>for the function keys.<space>for the space key.<tab>,<enter>,<delete>,<backspace>,<insert>,<home>and<end>for the corresponding non-printable keys.
Shifts are automatically detected so, for example, <c-&> corresponds to ctrl+shift+7 on an English
keyboard.
More documentation
Section titled “More documentation”- FAQ
- Command listing
- Vimium’s GitHub wiki: documentation the more advanced features.
Contributing
Section titled “Contributing”See [CONTRIBUTING.md]!(CONTRIBUTING.md) for details.
Release Notes
Section titled “Release Notes”See [CHANGELOG]!(CHANGELOG.md) for the major changes in each release.
License
Section titled “License”Copyright (c) Phil Crosby, Ilya Sukhar. See [MIT-LICENSE.txt]!(MIT-LICENSE.txt) for details.