You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
Shin'ya Ueoka 5dd5bbbd3c Use jszip on package script 6 years ago
.circleci Install xsel on CircleCI 6 years ago
.github add ISSUE_TEMPLATE 7 years ago
e2e Make stable e2e tests 6 years ago
resources Indicator shows the add-on enabled 7 years ago
script Use jszip on package script 6 years ago
src Embed style by script 6 years ago
test Support blacklist with port 6 years ago
.eslintrc Update .eslintrc 6 years ago
.gitignore Configure build script to run e2e 6 years ago
CODE_OF_CONDUCT.md add CODE_OF_CONDUCT 7 years ago
CONTRIBUTING.md Update CONTRIBUTING.md 6 years ago
LICENSE Initial commit 7 years ago
QA.md Add e2e tests for follow completes 6 years ago
README.md fix typos in README.md 6 years ago
karma.conf.js Use FirefoxHeadless 6 years ago
manifest.json 🎉 Release 0.21 6 years ago
package-lock.json Add jszip 6 years ago
package.json Use jszip on package script 6 years ago
webpack.config.js Use stage-2 preset 7 years ago

README.md

Vim Vixen

Greenkeeper badge

Join the chat room on Gitter for vim-vixen/vim-vixen CircleCI devDependencies Status

Vim Vixen is a Firefox add-on which allows you to navigate with the keyboard on the browser. Firefox started to support WebExtensions API and will stop supporting add-ons using legacy APIs from version 57. For this reason, many legacy add-ons do not work on Firefox 57. Vim Vixen is a new choice for Vim users since Vim Vixen uses the WebExtensions API.

Basic usage

Key-maps

The key-maps are configurable in the add-ons preferences by navigating to about:addons and selecting "Extensions". The default mappings are as follows:

Console

  • :: open console
  • o, t, w: open a page in current tab, new tab, or new window
  • O, T, W: similar to o, t, w, but that contains current URL
  • b: Select tabs by URL or title
  • a: add current page to the bookmarks

See console commands section for more detailed description

Tabs

  • d: delete tab
  • !d: delete pinned tab
  • u: reopen close tab
  • r: reload current tab
  • R: reload current tab without cache
  • K or gT: select previous tab
  • J or gt: select next tab
  • g0: select first tab
  • g$: select last tab
  • Ctrl+6: open previously selected tab
  • zp: pin tab
  • zd: duplicate tab

Scrolling

  • k: scroll up
  • j: scroll down
  • h: scroll left
  • l: scroll right
  • Ctrl+U: scroll up for a half page
  • Ctrl+D: scroll down for a half page
  • Ctrl+B: scroll up for a whole page
  • Ctrl+F: scroll down for a whole page
  • gg: scroll to top of a page
  • G: scroll to bottom of a page
  • 0: scroll to the leftmost part of a page
  • $: scroll to the rightmost part of a page
  • m: set a mark from current position
  • ': jump to position by the mark

Lowercase alphabet mark ([a-z]) stores position on the current tab. Upper alphabet and numeric mark ([A-Z0-9]) stores position and tab.

Zoom

  • zi: zoom in
  • zo: zoom out
  • zz: zoom neutral (reset)

Navigation

  • f: start following links in the page in the current tab
  • F: start following links in the page in new tabs
  • H: go back in history
  • L: go forward in history
  • [[, ]]: find prev or next links and open it
  • gu: go to parent directory
  • gU: go to root directory
  • gi: focus first input

Plugin can be configured to follow links in new tabs in background instead of switching to a new tab immediately. To do this you need to update config file: change "background" property of "follow.start" action to true:

{
    "keymaps": {
        "F": { "type": "follow.start", "newTab": true, "background": true },
    }
}

Misc

  • y: copy URL in current tab
  • p: open clipboard's URL in current tab
  • P: open clipboard's URL in new tab
  • Shift+Esc: enable or disable the add-on in current tab.
  • /: start to find a keyword in the page
  • n: find next keyword in the page
  • N: find prev keyword in the page
  • gf: view page source

Console commands

Vim Vixen provides a console for ex-style commands similar to Vimperator.

Open the console with :. Or start it with initial values using o/O, t/T, or w/W.

:open command

The :open command operates two different ways, depending on the parameter. When the parameter is a URL, that URL is opened in the current tab.

:open http://github.com/ueokande

Otherwise, the current tab will open a search page with the supplied string (defaults to Google).

:open How to contribute to Vim-Vixen

To use a search engine other than the default, specify which search engine to use as the first parameter.

:open yahoo How to contribute to Vim-Vixen

To adjust the search engine default and add/remove search engines, see the search engines section.

:tabopen command

Open a URL or search keywords by search engine in new tab.

:quit or :q command

Close the current tab.

:quitall or :qa command

Close all tabs.

:bdelete command

Close a certain tab.

You can add ! at the end of the command to close tab even if it is pinned:

:bdelete!

:bdeletes command

Close tabs matches with keywords.

You can add ! at the end of the command to close even pinned tabs:

:bdeletes!

:winopen command

Open a URL or search keywords by search engine in new window.

:buffer command

Select tabs by URL or title matched by keywords.

:addbookmark command

Create a bookmark from the current URL.

:addbookmark My bookmark title

The key map a is a convenient way to create a bookmark from the current page. That shows :addbookmark with a title from the current page into console.

:set command

:set command can temporary override properties using console. See properties section for more detailed description of available properties.

Properties

Plugin supports configurable properties which can be configured in JSON settings:

{
   "properties": {
       "complete": "sbh"
   }
}

Properties can be temporary overwritten by :set command in console.

List of available properties you can find below:

smoothscroll property

Enable/disable smooth scroll.

:set smoothscroll   " enable smooth scroll
:set nosmoothscroll " disable smooth scroll

hintchars property

Set hint characters

:set hintchars=0123456789

complete property

Set completion items on open, tabopen winopen commands. The allowed value is character sequence of s, b, or h. Hit Tab or Shift+Tab to Select an item from the completion list. Each character presents as following:

  • s: search engines
  • b: bookmark items
  • h: history items.
:set complete=sbh

Search engines

Vim Vixen supports search by search engines like Google and Yahoo.

You can configure search engines, including the default search engine, in the add-ons preferences. The URLs specified in "engines" must contain a {}-placeholder, which will be replaced with the search keyword parameters of the command.

{
  "search": {
    "default": "google",
    "engines": {
      "google": "https://google.com/search?q={}",
      "yahoo": "https://search.yahoo.com/search?p={}",
      "bing": "https://www.bing.com/search?q={}",
      "duckduckgo": "https://duckduckgo.com/?q={}",
      "twitter": "https://twitter.com/search?q={}",
      "wikipedia": "https://en.wikipedia.org/w/index.php?search={}"
    }
  }
}

Blacklist

The blacklist allows you to disable the plugin for certain pages by URL patterns. For instance, when you describe "*.slack.com", the plugin is disabled on any Slack rooms. In addition, you can also specify path patterns, such as "example.com/mail/*".

{
  "blacklist": [
    "*.slack.com",
    "example.com/mail/*"
  ]
}

You can toggle Vim Vixen between disabled and enabled with shift+Esc.

Licence

MIT