vimperator / vimperator-labs

Vimperator
http://vimperator.org
Other
1.19k stars 194 forks source link
browser firefox javascript keyboard vim

Vimperator-labs

amo release github release

Make Firefox/Thunderbird look and behave like Vim

To beginners: Welcome to the Vimperator-labs!
This README isn't written usage and help for the add-on itself. Try :help command after installing add-on for details.

End of Life and Alternatives

Vimperator will stop working in up-to-date copies of Firefox with the release of Firefox 57 on November 14th due to a large breaking change in how extensions and add-ons are written (#705).

It's not all doom and gloom, though! Here are your options (#729):

Muttator is not affected by these changes.

Description

See also Home page.

Writing efficient user interfaces is the main maxim, here at Vimperator labs. We often follow the Vim way of doing things, but extend its principles when necessary.
Towards this end, we've created the liberator library for Mozilla based applications, to encapsulate as many of these generic principles as possible, and liberate developers from the tedium of reinventing the wheel.

Currently, these applications are using this library:

Vimperator

Vimperator, the flagship project from Vimperator labs, creates a Vim-like Firefox.

Vimperator is a Firefox browser extension with strong inspiration from the Vim text editor, with a mind towards faster and more efficient browsing. It has similar key bindings and you could call it a modal web browser, as key bindings differ according to which mode you are in. For example, it has a special Hint mode, where you can follow links easily with the keyboard only. Also most functionality is available as commands, typing :back will go back within the current page history, just like hitting the back button in the toolbar.

Muttator

Muttator is to Thunderbird what Vimperator is to Firefox. Combines the best aspects of Vim and Mutt.

Muttator is a free add-on for the Thunderbird mail client, which makes it look and behave like the Vim text editor. It has similar key bindings and you could call it a modal mail client, as key bindings differ according to which mode you are in. For example, it the same keys can select the next message while the message list has focus or can scroll down an existing message when the message preview is selected. It also adds commands for accessing most Thunderbird functionality. E.g., :contact -lastname "Vimperator" vimperator@mozdev.org will add Vimperator's mailing list to your address book.

Features (Vimperator)

Installation (Vimperator)

Note that Vimperator doesn't support multi-process aka Electrolysis (e10s), it's necessary to disable e10s to use the add-on.

1 If the version on AMO is older than the latest release, you can build your own version and use it until AMO release is updated.

2 Since version 48, installing add-on to Firefox has required signing. Unsigned add-on is for Unbranded Builds. See mozilla wiki.

Build own version

Unsigned (for Unbranded Builds)

See http://www.vimperator.org/developer_info.

Signed (for Firefox 48+)

Instructions for building this can be found in vimperator/private.properties.in. See also MDN document (developer.mozilla.org) for details about signing and distribution.

There are necessary four steps to use own version.

  1. Prepare "AMO API key" and "jpm" if first time
  2. Build unsigned add-on
  3. Submit unsigned add-on to AMO
  4. Install signed add-on to Firefox
  5. Addition: Use Command-line interface (CLI) to build and submit

Prepare AMO API key and jpm

Build unsigned add-on

Clone repository and create private.properties:

git clone https://github.com/vimperator/vimperator-labs.git
cd vimperator-labs/vimperator
cp private.properties.in private.properties

Then edit private.properties so that it looks something like:

VERSION       := $(VERSION).$(shell date '+%Y%m%d%H%M%S')
UUID           = vimperator@<uniqueid> # e.g. vimperator@<yourdomain>
AMO_API_KEY    = <your API key> # AKA "Issuer"
AMO_API_SECRET = <your API secret>
UPDATE_URL     =
UPDATE_URL_XPI =

Then run:

make xpi

The unsigned XPI should appear in ../downloads/vimperator-3.N.N.yyyymmddhhmmss.xpi.

Submit unsigned add-on to AMO

Have you ever submitted own version to AMO?How to submit
No, I'd like to register own version. Enter How to Distribute this Version, upload the XPI selecting On your own button.
Yes, I'd like to update own version. Enter Manage My Submissions, upload the XPI from your Vimperator's New Version link.

Then the validation starts. Finally, automatically validation XPI finishes, click Sign add-on button to sign.

Install signed add-on to Firefox

Install it via the link in your AMO developer account (find your Vimperator's Manage Status & Versions). The new UUID makes it a new add-on, so don't forget to disable the old version.

Use CLI to build and submit

After once you signed the add-on, you are able to update the add-on using CLI.

cd vimperator-labs/vimperator
make sign

Contributing

Vimperator is in need of collaborators! Help bring vimperator into the age of e10s!

Please check existing issues for similar issues before opening a new issue. See CONTIRIBUTING.md for details.

License

Vimperator-labs is released under the MIT license, see License.txt.

Links URL
Home page http://www.vimperator.org/
Add-ons (Vimperator) https://addons.mozilla.org/en-US/firefox/addon/vimperator/
Add-ons (Muttator) https://addons.mozilla.org/en-US/firefox/addon/muttator/
Github repository https://github.com/vimperator/vimperator-labs/