This repository has been archived on 2020-04-04. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Find a file
Shin'ya Ueoka 33a16b85e4 Handle errors on loading settings
The error on loading settings can occurs when the settings lose backward
compatibility on version up, or the saved date is broken.  The error is
caught, then the script done fallback to default settings and notify it
to user.
2019-07-30 21:52:22 +09:00
.circleci Install xsel on CircleCI 2019-04-15 21:30:40 +09:00
.github add ISSUE_TEMPLATE 2017-10-08 22:51:00 +09:00
e2e Fix test case 2019-05-27 19:46:37 +09:00
resources Indicator shows the add-on enabled 2018-05-06 22:30:04 +09:00
script Use jszip on package script 2019-04-27 12:36:13 +09:00
src Handle errors on loading settings 2019-07-30 21:52:22 +09:00
test Fix settings parsing 2019-05-26 21:39:38 +09:00
.eslintrc Handle errors on loading settings 2019-07-30 21:52:22 +09:00
.gitignore Configure build script to run e2e 2019-04-06 22:39:40 +09:00
CODE_OF_CONDUCT.md add CODE_OF_CONDUCT 2017-10-08 22:51:00 +09:00
CONTRIBUTING.md Update CONTRIBUTING.md 2019-03-17 06:42:05 +09:00
karma.conf.js Configure karma.conf 2019-05-02 11:14:19 +09:00
LICENSE Initial commit 2017-08-11 22:26:12 +09:00
manifest.json 🎉 Release 0.23 2019-05-29 20:10:19 +09:00
package-lock.json npm audit fix 2019-05-26 17:11:38 +09:00
package.json Bump webpack-cli to 3.3.2 2019-05-26 17:10:53 +09:00
QA.md Fix QA.md 2019-05-26 21:24:07 +09:00
README.md fix typos in README.md 2019-04-23 08:02:45 -05:00
tsconfig.json Configure webpack and tsconfig 2019-05-20 22:22:13 +09:00
webpack.config.js Disable minify 2019-05-21 21:52:19 +09:00

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