I remember using the original keyboard productivity extension for Firefox, "hit-a-hint"[1] back in Firefox 1 & 2. Since discovering vimperator after, it has been an essential extension on par with an ad blocker. However, I found it consistently broke on new releases of Firefox and could take months to fix. Pentadactyl wasn't any better in this regard. For example, the current extension page says it only works up to Firefox 38! I eventually switched to the less powerful extension VimFX[2] that can run on newer versions of Firefox. It has more than 90% of what you use in vimperator: movement, hints, and tab management. And really, things like the vimperator extension bar were made for a time before the awesome bar, which can now do things like completions, searching with keywords, and switching focus to other bookmarks or tabs. It will be sad to see it go when Firefox finally deprecates XUL based extensions, it's like a piece of history!
Yes! I love being able to click on links from the keyboard! Sadly, a lot of new interfaces make it hard for programs to recognize clickable links.
I went through a phase where I became obsessed with doing everything from the keyboard rather than mouse[1] and that led me to pentadactyl (and then to vim[2]), an add-on I fell in love with.
When the FF upgrades made it stop working I read the docs for how to compile pentadactyl, and I fixed version compatibility. That became an ongoing thing. (One time I also had to fix a bug in the build script.)
Sadly, about six months ago, Firefox banned unsigned addons, so I couldn't use pentadactyl even if I allowed them in the config, leading me to write this Hitler parody (and move to vimperator/vimfx):
> Yes! I love being able to click on links from the keyboard!
You don't need an extension to do that in Firefox. Press the <'> key and start typing, you'll get an incremental search like </> gives you, but limited to hyperlink text. Once it's highlighted any bit of the link you want, press <CR> to follow it. Works in Seamonkey, too.
Interesting! Didn't know that, thanks! I still prefer the pop-up codes in the extensions, though; they also allow the option of doing other operations on the links, like copying, or opening in a new tab/window.
> about six months ago, Firefox banned unsigned addons
If you use other Firefox editions besides the standard one then you still can use unsigned addons, based on what I've read. [0] The other editions include ESR, nightlies, Developer, and Unbranded.
Of course, these editions are not intended for most end-users.
I use Vimperator since 2009, and it's been pretty good lately. No breaks with updates. Furthermore, it rarely crashes with multiprocessing enabled, despite being incompatible.
I used to be a user of pentadactyl, but never liked how it changed the entire look of the browser. Just last a couple of days ago, I found VimFx which is exactly what I always wanted. It's also open source at https://github.com/akhodakivskiy/VimFx
I am currently trying hard to like vimfx but what kills the whole fun for me is the lack of any 'comfortable' jump to tab. It has one with hinting but useless if you keep your browser in fullscreen. The whole " we don't modify the browser" surviving strategy does nothing for me. I liked the way vimperator/pentadactyl did it. the browser should be nothing but a window to a page. no need for that bar and for the hanging tools like pocket, some fancy download progress or one that shows how many ads were captured. for titlebar one has to fight microsoft as well. really hoping usable vim+inspired browsers do not become extinct. they dont need a corp. behind them, they only need us.
I'm the other way around: I tried switching from Vimperator to VimFx for a week, but couldn't really make myself compatible with it. I'm too used to browsing with toolbars=none[1] and browse almost exclusively via Vimperator command line. I found VimFx still not enough to be used with everything hidden.
Too bad that Vimperator will most likely stop working once Mozilla deprecate XUL addons in Firefox 57[2].
I switched to VimFx so I could get electrolysis working. I had to tweak scrolling speed quite drastically and and there are some behavioural differences which means I have to unlearn some muscle memory. However, with the classic theme restorer addon the UI is compressed enough that it doesn't bother me much and I can use the keyboard for almost everything.
I still wish I could have the command line back though. Annoyingly Firefox actually includes some sort of command line thing when I press :, but it seems to be only for web developers. I'd be happy if Mozilla provided a way to extend that so that it could be used for actual browsing...
I switched to VimFx recently for the same reason. Actually, the ":" shortcut for the GCLI command line is a VimFx shortcut, not a standard Firefox one. The GCLI can be customized. See for example:
I added a command to toggle a preference in about:config that I switch often. It is kind of a pain to write and debug commands for the GCLI though (compared to writing javascript mapping in Pentadactyl).
Thanks for that. Unfortunately the documentation neglects to even link to API documentation for the objects that get passed to the gcli functions or even mention their types, so I guess I'm supposed to use some sort of console with print debugging to figure out what I can do with them... too bad it seems Firefox' built-in browser console just shows up blank.
In Vimperator, :set toolbars=none will hide the tabs. If you mean the extra blank space at the top left by hidden tabs, then go to customize menu (:dialog customizetoolbar or burger menu next to address bar → customize) and enable Title Bar[1]. It will hide the extra space when use with toolbars=none.
It's real easy to get the default look back. Hit ":" for the commandline and then enter setguioptions+=mrB.
One of the coolest things about pentadactyl is that I can make any combination of the UI into keyboard shortcuts (or a modular key chord) to toggle visibility when needed.
I love Vimperator - unfortunately, it's incompatible with e10s (multiprocess Firefox) and it is also completely dependent on the deprecated XUL. Replacing that would essentially be a ground-up rewrite[0].
It looks like Vimperator is likely not going to be updated to work with newer versions of Firefox, which is a real shame, because it works far better than any alternative I've found for either Firefox or Chrome. I even made my own with the new Firefox API to see if I could replicate the experience, but it's tough[1]. The WebExtension interface doesn't give the same level of control that XUL did, and without which it's hard to give the same feel of Vimperator.
I have followed the situation fairly closely, and I agree with your assessment. I haven't seen anything that makes me think either Pentadactyl or Vimperator will survive the deprecation of XUL. The most promising vim-like addon is VimFx (followed by the Chrome addons like Vimium and cVim which maybe will work in Firefox one day as WebExtensions -- I try on Nightly every couple months but they don't work so far). The reason I say this is that it has active development and developers committed to the WebExtensions transition (plus has less features so it is easier to port). You can follow the progress here:
Chrome has Vimium for this, it's good to know there is an analogue for Firefox. I love using Vim bindings while browsing.
https://github.com/philc/vimium
I've become so reliant on Vimium that more than once, when I'm working with someone to do something in their Chrome, I've asked "Can I install this extension really quick? It's driving me nuts having to do things with a mouse." So far people have been nice about it. :)
I've known about Vimperator and Pentadactyl since the research I did that led to me starting to use Vimium, but since FF isn't my primary browser I've never tried either. Very interesting to see my sister commenters saying that Vimium doesn't even come close to their functionality. I might have to check Vimperator out.
One nitpick about Vimium - I don't like that "f" is included in the default possible characters for link hints, given that "f" is the shortcut to display hints. I always have to go to the settings and take it out, so I know that I can always hit "f" again (instead of Esc) to remove the hints without fear of accidentally leaving the page if I decide I don't want navigate away yet.
But at least the option is there! For which I am thankful.
Without Vimpertors's toolbar it's really hard to call Vimium an analogue. In comparison to options that Vimperator offers Vimium is just a couple of keymappings.
I've used both, and cVim is superior to Vimium in every respect except for one: the scrolling. In cVim when I hold down 'j' to scroll down, it does an initial jerk, and then scrolls down. Doing the same in Vimium, it has a smoother scroll and doesn't have the annoying initial jerk. That one thing has kept me from switching from Vimium to cVim.
If you just want to use your web browser more efficiently, from the keyboard, you don't need addons like Vimperator or VimFX. Firefox already has keyboard shortcuts for everything. You can press Alt+H K to see the list of keyboard shortcuts.
You can press Ctrl+L to select the location bar, Ctrl+K to select the search bar. You can set browser.search.openintab if you want searches from the search bar to open in a new tab and keyword.enabled to false if you don't want the location bar to be used for searches.
You can press / and type text to select any text with the Quick Find bar,[1] or press ' to select only links. You can use Ctrl+G or F3 in the Quick Find bar to go to the next occurrence of your search and Shift+Ctrl+G or Shift+F3 to go to the previous occurrence.
You can use smart bookmarks to go quickly to any website or make searches on any website by putting %s in a bookmark URL and adding a keyword which can be used from the address bar.[2] You can even add keywords that will do POST requests with the 'Add a Keyword for this Search...' context menu item for search fields.[3]
There are also many keyboard shortcuts for editing and selecting text in text fields, which have the benefit of being the same in most applications on all platforms. There's a list on Wikipedia.[4]
There are keyboard shortcuts even for the more obscure features, like Ctrl+Alt+R to enable reader mode and Ctrl+M to mute or unmute the current tab.
Your web browser already has good keyboard shortcuts, you just need to learn them.
Serious question: Is there a way to scroll without using the arrow keys, scroll by pages without PgUp/PgDn, etc? I didn't see anything in the links you provided, and those buttons aren't very convenient on most keyboards I've used.
Yep. You can use Space to scroll a page down and Shift+Space to scroll a page up. For more precise scrolling, though, you will have to use the arrow keys or the mouse.
On MacOS, you can use the vim mode of Karabiner. This lets you hit and hold "s" and "d" at the same time and then use h, j, k, and l as the arrow keys. Sadly I haven't found equivelents for Windows or Linux.
The key difference for me was the way they create the names of the links in the popup. In Chrome you need to enter more or less random letters, while in vimperator you can write the link name. The difference in usability was HUGE for me and made me switch to FF for a brief moment from using Chrome since its release day.
Not GP but same situation. Firefox isn't always great. Start-up time is really slow, hogs a lot of memory, unnecessarily slow and sluggish and most sites are primarily engineered for WebKit/Blink -based browser engines these days.
Lot's of memory? Firefox nowadays uses less then Chrome (Chrome one process per tab is a killer for free RAM).
As for websites engineered for WebKit/Blink I haven't seen that yet, but I was afraid it might happen eventually - new IE6 (or was it IE5?) will happen again :(.
I've never had an issue with memory (have RAM to spare) even though I use tab-groups extensively and frequently have 600+ tabs stored that way. But I do have issues with slow startup times. Is it linked to tab groups? I didn't see any significant speedup upon switching to an SSD, so I'm assuming it is inherent in the program and not anything specific to reading profiles from disk.
This is interesting. I never thought of using vim commands to power the browser, but I do love text interfaces. (I type 150 wpm's and find keyboard navigation markedly faster than the point-and-click interface -- especially since keyboards are so much more precise.)
In 2008, back when I used Firefox, Mozilla tried an experimental interface called Ubiquity[0]. It was awesome! I don't know if the plugin still works, but I think text interfaces are really the way of the future for power users (everything old is new again)? Has anyone found anything quite like Ubiquity for Chrome or something like Vivaldi?
Other examples that come to mind: ChatOps[1] (seemingly popularized lately by Slack), Alfred[2], and even OS X's own Spotlight[3].
Nowadays, though, I just rely on the default keybindings of Chrome for most things. One of my favorites is Cmd+L, which highlights the contents of the address bar.
This is a great plugin and I love being able to open URLs and search google, amazon etc without actually visiting the landing page first - like hitting 'o-g <search>' or 'o-a <search>' for example. However with the support for multiprocess not being there, I decided to move on to vimfx which is somewhat more minimalistic and less easily configurable compared to vimperator, but in my experience so far it is really smooth even though it lacks that particular feature(among others) that I highlighted earlier in the comment(well not entirely, you can still google search in a similar way). Overall though vimperator was/is a great plugin, especially for people who are really used to vim and hate switching to mouse for browsing the web.
That's something I ran into as well, but actually has had a solution in vanilla Firefox for a while. You can create keywords for searches by right clicking a search box and selecting "add keyword for this search", and can then be used in just the same as vimperator by typing that keyword into the navigation/awesome bar (such as with VimFX). One advantage to this is that you can create a bookmark folder of search keywords, and they'll sync across all your devices thru Firefox sync. I find this especially handy on Firefox mobile.
This is a nice feature. The downsides compared to Vimperator/Pentadactyl is that you can tab-complete the search term and you can't get search suggestions as you type (or at least I haven't gotten either of these things to work).
I wanted to try Vimperator multiple multiple times but every single time I installed it, it didn't work for some reason. Either Firefox introduced some breaking change that made Vimperator unusable or I received error messages that through a session of Googling I couldn't fix.
Any of you figured out how to get vimperator / pentadactyl to work with all of the SPAs that have their own shortcuts? e.g. Asana or Reviewable or Gmail etc? I've always had a pretty bad time with combining those.
Also, is there a solid Chrome version of any of the above?
This is a big issue for me. Every stinking website thinks it's a good idea to use crappy inconsistent keyboard shortcuts, but don't have a way to turn them off.
I'm not sure what SPAs are or what Asana or Reviewable are, but I have happily used gmail with Pentadactyl by using passkeys. This is what I have in my passkeys setting for gmail:
Been contently using Vimperator for at least a good year now (coming from VimFX), but I'm trying to find something to jump ship to once support drops. It's going to suck losing Rikaisama and uMatrix/uBO. Between the idiomatic :o/:tabopen <se-keyword> searching, marks, recording and buffer management, a simple Vi-like navigation extension can't compare. The fact that there's a .vimperatorrc might be overkill for some, but, like any dotfile, a boon for others. If Vimperator had splits I'd probably stay on some compatible fork.
I just discovered Vimperator a few weeks ago, and I am really enjoying it thus far. I love the fact that it can be customized with a dot file, and I have implemented some really useful leader keys that I have come to really rely on.
The idea sounds intriguing, but I fail to see how `:back` is easier or faster than `cmd+LeftArrow` or how `:open url.com` is faster than `cmd+l url.com` or `cmd+t url.com`
':back' is mapped to 'H' -- in correspondence to the usual Vi/Vim paradigm to move the cursor with the home-row keys, hjkl. ':open' is naturally mapped to 'o' and drops you into a tab-completable shell. ':tabopen' -> 't' and so on.
The key part, as in Vim, are /not/ the mnemonic, highly effective shortcuts.
Rather, it's the modal workflow that Vim and it's spritual descendants bring to the table.
I'll leave it at that (sounding like a damn preacher already).
[0] Now that I've looked at it, it becomes clear that they're selling rather directly to Vim-acolytes. Pity, perhaps.
Like Vi(m), there are standard keybindings mapped to common commands, plus the ability to create your own. My fingers never have to leave the keyboard to navigate the Web, unless I have to interact with certain plugins.
Vimperator reads its configuration from a ~/.vimperatorrc file when it launches. I keep this in version control like the rest of my dotfiles, so I can deploy it to any machine for a reproducible environment. It supports setting Firefox preferences (about:config settings), bookmarks, search engines, etc. I have mine set to remove all the browser chrome, so Firefox has looked almost exactly the same to me since 2009.
For example, I have a bookmark defined for Hacker News in ~/.vimperatorrc:
Now I can open Hacker News by typing 'oh' ('th' if I want it to open in a new tab), then 'f<n>' to follow a link where <n> is the number highlighted over the link (which decreases if you start typing some letters found in the link text).
Now I can type 'ogvimperatorrc' to find interesting configurations on GitHub.
The tab completion is great, so don't feel you have to limit keywords to a single letter.
I'll be really sad if/when Vimperator becomes incompatible with Firefox. At least there are other extensions or browsers that provide some of the same functionality.
Another way to perform similar operations: Firefox's bookmarks support very similar keywords (or maybe the same ones). For example, to use a bookmark keyword to HN:
1) Create a bookmark to Hacker News
2) In the bookmark's properties, in the keyword field,
type: h
3) In Firefox's main UI, type ALT+D to move focus to
the URL field, then type: h
To search Github (I'm assuming the URL in the parent is correct):
1) Create a new bookmark
2) In the address field, type:
https://github.com/search?q=%s
(in case it's not obvious, you can use the
%s variable in any URL)
3) In the keyword field, type: g
Then you want to search Github:
4) In Firefox's main UI, type ALT+D to move focus to
the URL field
5) In the URL field, type: g foobar
You'll soon see a Github search for foobar
The killer feature is being able to navigate around the web without using a mouse. Some people don't like switching between the keyboard and the mouse and would rather use their keyboard most/all of the time. That's who Vimperator is for.
With the examples you gave there's already good keyboard shortcuts for those actions, but in most browsers there aren't decent keyboard shortcuts for selecting links. You can use the tab key to cycle between links, and some websites have extra support for keyboards (for example, Google allows you to navigate through search results using arrow keys), but tools like Vimperator allow you to select any visible link with a small number of keypresses.
Here's a simple example, showing one way to navigate to a link posted on HN:
Using j and k to scroll is really nice. One of my favorite things is that you can use marks. I'll mark where I am while reading, scroll back to check something, and then jump back to my mark. It's very handy.
I don't use ":back" (because using "H" from normal mode is better) but having a command line in your browser is awesome! Firefox has much better address bar than Chromium (which seems to be designed to maximize the number of Google searches from the browser), which does smart auto complete with fuzzy finding and search engine completions for lots of sites and vimperator makes really good use of this.
Example use case (which I use daily): press "o w<tab>" which is short for ":open wikipedia" and then type in your Wikipedia search, and you get smart autocompletion from Wikipedia. Much faster and better than doing a Google search and clicking the first link (while looking at a few ads).
You can also use `H` for back and `o` for opening the URL prompt, among others. That requires you to be in the insert mode for typing in input boxes or interacting with the website you're on via keyboard shortcuts though.
I haven't used vimperator for a long time, but in petadactyl you can use C-o and C-i to go back and forth, respectively. The key bind matches pretty well to what it is in Vim too.
You can just press `o' to open instead, plus you can add your own key bindings. My favorite feature is probably the buffer searching if you have a lot of tabs open, and the link highlighter when you press `f' or `;’.
Not a joke. Here's something I posted in a recent thread to disable/enable CSS in web pages with the s / shift-S key (perhaps because CSS makes a particular website worse).
You could assign the 'b' character to the :back command, or use the default shift-H. If you want to go back 4 pages, you can simply type "4 o", just like in vim.
The one and only reason that stops me from using Vimperator is the smooth scrolling feature, which is built into Vimium. Does anybody know how to get the same behaviour into Vimperator?
There's also Vimium for Chrome.
Not sure how similar they are, but the only feature that matters about Vimium is pressing the F key, which allows you to open links without using the mouse.
It's the greatest idea I've seen and it should be a native feature of major browsers.
It is, people just don't know about it (it seems?). In Firefox, just press '/'. You can also toggle 'Search for text when I start typing' in about:preferences#advanced.
Totally not even remotely the same thing. You need to type several times as many characters in the best case and it will select the first instance of a string even if it's nowhere near your cursor.
Additionaly you can't search for links that are graphics
Actually, it doesn't select the first instance in the document but rather the first after your cursor. And you can use ' instead of / to select only links.
It allows you to open links without using the mouse, so saying it is not exactly the same thing would be more accurate than saying it is "not even remotely the same thing."
Pentadactyl isn't the successor to Vimperator, it's just a similar extension with a different feature set and some former Vimperator developers working on it. From what I understand, Vimperator continued to be developed after Pentadactyl was born. Long ago I compared the two and decided to use Pentadactyl because it seemed to be more powerful, but I'm not sure how they compare these days.
A much bigger problem is that Firefox is moving (has moved?) away from XUL and XPCOM, a move which permanently breaks extensions like Pentadactyl (and Vimperator too).
Already Pentadactyl is broken for me on the latest versions of Firefox and Pale Moon (though I can't say for sure that it's because of XPCOM and XUL or for some other reason).
In addition, the Pentadactyl nightly builds aren't signed, so if I want Firefox to allow them to be installed I have to run the Firefox Developer build and make a global preference change to allow all unsigned extensions to be installed.
This breaking of my favorite extensions on Firefox has made me move to Pale Moon, where Pentadactyl was working until recently. Now that Pentadcatyl doesn't even work on Pale Moon anymore, I'm not sure what to do.
But the move away from XUL is indeed worrisome for plugins like these...
I kinda hope someone will just build it into the servo project and make that into a usable minimal browser.
I am willsALMANJ. The Pentadactyl devs never responded to repeated attempts to engage them on the continued distribution of the addon. I could have posted it to addons.mozilla.org, but it didn't feel right to package their work unchanged when they had an official account and could have done it themselves if they wanted to. I made the GitHub repo partly so that my own browsers would get the compatibility updates and partly to help out others who wanted to keep using Pentadactyl. I like keeping the working xpi available for those who want it but I don't think it is worth promoting Pentadactyl any more because it is only a matter of time before Firefox changes too much for it to keep working.
I think because pentadactyl devs don't have any time to spend on it anymore. We (the community) tried to engage them in conversation on Github and through email for months before mandatory signing started, and they never responded.
FWIW, I use willsALMANJ's releases with no problems, he was/is quite active on the pentadactyl issue tracker.
You can't categorically remap some key sequence to Escape in VimFx (not sure if you meant Vimperator where you can do this just like in vim). However, you can open the preference and add whatever alternative you want to all of the commands that are mapped to Escape by default.
There is also a sibling project called Muttator, which brings vimperator to Thunderbird. It allows you to get mutt-like ergonomics (including vim as text editor) with support for HTML mails.
[1] https://addons.mozilla.org/en-US/firefox/addon/hit-a-hint/ [2] https://addons.mozilla.org/en-US/firefox/addon/vimfx/?src=se...