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.
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, 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 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.
- Vim-like keybindings (
h
,j
,k
,l
,gg
,G
,0
,$
,ZZ
, etc.) - Ex commands (
:quit
,:open www.foo.com
, ...) - Tab completion available for all commands with support for 'longest' matching when set in 'wildmode'
- Extensions! Yes, you can extend Vimperator's functionality with scripts just like you can extend Firefox with extensions
- Explore JavaScript objects with
:echo window
and even context-sensitive tab completion - Hit-a-hint like navigation of links (start with
f
to follow a link) - Advanced completion of bookmark and history URLs (searching also in title, not only URL)
- Vim-like statusline with a wget-like progress bar
- Minimal GUI (easily hide useless menubar and toolbar with
:set gui=
) - Ability to
:source
JavaScript files, and to use a~/.vimperatorrc
file - Easy quick searches (
:open foo
will search for "foo" in google,:open ebay terminator
will search for "terminator" on ebay) with support for Firefox keyword bookmarks and search engines - Count supported for many commands (
3<C-o>
will go back 3 pages) - Beep on errors
- Marks support (
ma
to set mark 'a' on a webpage,'a
to go there) - QuickMarks support (quickly go to previously marked web pages with
go{a-zA-Z0-9}
) :map
and:command
support (andfeedkeys()
for script writers):time
support for profiling- Move the text cursor and select text with vim keys and a visual mode
- External editor support
- Macros to replay key strokes
- AutoCommands to execute action on certain events
- A comprehensive
:help
, explaining all commands, mappings and options - Much more...
Note that Vimperator doesn't support multi-process aka Electrolysis (e10s), it's necessary to disable e10s to use the add-on.
-
Download signed add-on from addons.mozilla.org (AMO) 1
- Enter Add-ons page.
- Click
Continue to Download
button. - Click
Add to Firefox
button.
-
Download unsigned 2 add-on from github.com (Github)
- Enter Releases page.
- Click
vimperator-3.N.N.xpi
link under Downloads topic.
-
Build own version (and signing) See Build own version topic.
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.
See http://www.vimperator.org/developer_info.
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.
- Prepare "AMO API key" and "jpm" if first time
- Build unsigned add-on
- Submit unsigned add-on to AMO
- Install signed add-on to Firefox
- Addition: Use Command-line interface (CLI) to build and submit
-
AMO API key (require Firefox Account)
-
jpm (require node.js):
npm install -g jpm
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
.
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 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.
After once you signed the add-on, you are able to update the add-on using CLI.
cd vimperator-labs/vimperator
make sign
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.
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/ |