- fix 'F' and 'et' in Firefox 127
- fix 'H', 'L', 't', 'T', 'r', 'R', 's', 'gh' in Firefox 126
- Require Firefox 115 and update Documentation
- Fix (half/full) page scrolling on Github
- Display documentation URL in browser console warnings
- Improve opening links in background tabs (
F
)
- make compatible with Firefox 117 (Services.jsm removal)
- fix input field detection on Firefox 116 (#996)
Thanks to @askii2
- Fix loading config file under Windows (#994)
- Fix loading config file in parent process (#994)
- Revert minimal Firefox version to 68
- Port osfile.jsm usage to IOUtils (#993)
- Fix following links in shadow roots
- Require Firefox 84
- fix installation on localized/l10n versions of firefox
- fix 'eb'
- Add support for user contexts (containers)
- Switch from deprecated Cu.import to ChromeUtils.import
- fix 'gX' menupopup
- Fix bootstrapping in Firefox 96
- Warn in Browser Console when Fission (site isolation) is enabled
- Fix crashes on google Drive and about:logins
- Fix
ew
andep
commands - Fix search on help screen
- Fix Extension Bootstrap for Firefox 84
- Support in-content dark mode on options.xhtml
- Don't crash on pages with out-of-process iframes with Fission enabled in Nightly
- Update Documentation
- Hotfix: Last update broke
F
- Fix for Firefox 80: Make new tabs appear next to current
- Docs: update LegacyFox repository location and installation instruction
- Fix getting stuck in normal mode in docked DevTools after refocusing
- Fix switching browser tabs with
eb
- Document known bugs and their workarounds
- Fix GitHub search box hint
- Fix
o
in Nightly 76 (Bug 1610479)
- Fix following links in Firefox 73
- More correct handling of XUL pages
- Make options section headings bold
- Some internal cleanups
- Fixed: following links in new tab (
F
) in Firefox 72 - Fixed: search box on about:preferences and about:config
- more correct handling of XUL pages
- Fixed: Hints on about:preferences and 'eb' mode in Firefox 72
- Removed: getAnonymousNodes() and getBindingParent() usage and support for XBL anonymous content
- New release script
- Require Firefox 68 and Update Documentation
- Fix
eb
in Nightly 71
- Document config file e10s sandboxing issues (#939)
Thanks to @azuwis
- Experimental ShadowDOM support
- Fixed: Visual mode for upcoming Firefox 70
- Fixed: VimFx' settings work on modern Firefox
- Fixed: blurring of URL bar in Nightly 70
- Fixed: statusbar in Waterfox 56
- Fixed: Hints mode and VimFx’s Keyboard Shortcuts help dialog now works in Firefox 69b. The screen used to go white whenever you entered any mode that displays an overlay.
- Fixed: The statusbar now works again.
- Fixed: VimFx should now work with Nightly 70, by removing usage of the
deprecated
Array.filter()
method and others.
Thanks to Tobias Girstmair (@girst)!
- Removed: The Developer Toolbar integration, such as the
:
shortcut. That feature has been removed from Firefox and the integration was causing issues on newer Firefox versions. Thanks to Tobias Girstmair (@girst)! - Fixed: VimFx should now work on Waterfox again. Tested with Waterfox 56, Firefox 56, Firefox 64 and Waterfox 68. Thanks to Tobias Girstmair (@girst) and @matsuhav!
- Fixed: Find mode now works properly again. Thanks to @matsuhav!
- Fixed: VimFx should now work properly in Firefox 61 (if you have enabled legacy extensions) as well as older versions of Firefox. The latest few versions have been a bit buggy, but things should work better now. Thanks to Kevin Cox (@kevincox) and 依云 (@lilydjwg)!
- Fixed: VimFx should now work in Firefox 61 (if you have enabled legacy extensions). Thanks to Kevin Cox (@kevincox), 依云 (@lilydjwg) and Jan Kokemüller (@jiixyj)!
- Fixed: VimFx should now work in Firefox 59 (if you have enabled legacy extensions). Thanks to Kevin Cox (@kevincox) and 依云 (@lilydjwg)!
- Updated locale: es. Thanks to @strel!
- Fixed: VimFx should now work in Firefox 58 (if you have enabled legacy extensions). Thanks to 依云 (@lilydjwg)!
- Improved: Autofocus is now prevented when going back in history on pages that
use
history.pushState()
(in other words, on the 'popstate' event). - Updated locale: ja. Thanks to Kaoru Esashika (@pluser)!
- Fixed: The
yy
command now works as expected in Reader Mode.
- Improved: The scrolling commands now scroll the closest scrollable parent of
the currently focused element (if it is not scrollable itself). This is
noticeable for Twitter’s modals, which are often scrollable. No longer any
need to use the
f
oref
commands to scroll those modals!
- Improved: The
[
and]
commands now work in Google search results. - Improved: You can now show the “emoji picker” of the “like” button on Facebook
by using the
ef
command. - Updated locale: de. Thanks to @interleaved!
- Fixed: The
'
,g[
andg]
commands no longer crash. (Regression since 0.20.5.) - Fixed: The
ef
command can now focus elements in deeply nested frames again. (Regression since 0.19.0.) - Fixed:
vimfx.addOptionOverrides
andvimfx.addKeyOverrides
are now properly undone when reloading a config file (gC
). - Improved: Hint markers for elements with multiline text no longer cover the text.
- Updated locale: de. Thanks to @interleaved!
- Fixed: Scrolling by holding
d
,u
,<space>
or<s-space>
no longer goes slower and slower (and finally grinding to a halt) on long pages with lots of elements. (See also thescroll.repeat_timeout
pref.) - Improved: All config API functions now validate all their parameters properly. This provides a better user experience, and, most importantly, prevents VimFx from crashing on certain invalid input.
- Fixed: The
n
andN
commands now work in Firefox’s PDF viewer. - Fixed: The
eb
command can now click the tab bar scroll buttons. - Fixed: Elements marked by the
eb
command now correctly get hints based on their area again. - Improved: The
eb
command now favors the browser tabs and their close buttons, giving them better hints. - Improved: The hints given to the browser tabs by the
eb
command are now consistent no matter how many tabs you have open. This means that the first tab always gets the same hint, the second tab always get the same hint, and so on. - Improved: Hint markers are now placed next to the text of the element if appropriate. For example, the hint marker for a button with centered text is now placed just to the left of the text rather than at the left edge of button. This is nice because it means that hint markers usually end up where you were just reading.
- Improved: The positioning of hint markers has been fine-tuned by a pixel or so in some cases.
- Improved: Custom styled checkboxes and radio buttons now get hint markers faster (they are now found in the first pass rather than the second).
- Improved: Compatibility with the Tab Center add-on.
- Improved: Blurring the location bar is now more consistent. Previously, its
text wasn’t reset if the autocomplete popup was open when you pressed
<escape>
to blur it. - Fixed: An edge case where the wrong hint markers could be highlighted.
- Improved: Full page scrolling now recognizes the fixed footer on medium.com.
- Fixed: Scrollable element can now be focused with the
f
command again (not just with theef
command). (Regression since 0.19.0.) - Fixed:
<escape>
is no longer accidentally leaked to the page when used to blur text inputs. This allows blurring text inputs in modals without closing the modal (which<escape>
commonly does otherwise).
- Fixed: Text inputs and links inside frames can now be focused using hint commands again. (Regression since 0.19.0.)
- Improved: Previously focused text inputs inside frames no longer steal the focus when entering Caret mode in that frame.
- Improved: When several hint markers have the same hint (because their links go to the same place), the largest of those links is now chosen when activating that hint. This might be noticeable via focus styling.
- Updated locale: zh-CN. Thanks to @av2000ii!
- Improved: Caret mode is now a bit more robust. It can no longer make you end up with Firefox’s own Caret mode accidentally enabled.
- Improved: If you try use for example
<ctrl>-j
as a keyboard shortcut, VimFx will now tell you that you probably want<c-j>
instead. - Fixed: Using a keyboard shortcut to switch keyboard layout in GNOME while inside a text input no longer causes the focus of that text input to be lost when the Prevent autofocus option is enabled.
- Updated locale: zh-CN. Thanks to @av2000ii!
- Added: The
g[
andg]
commands, which let you scroll to previous and next scroll positions of the current page. This is similar to Vim’s jump list. - Added: The
/
mark. Pressing'/
takes you to the scroll position before the last/
,a/
org/
. - Fixed: Pressing
''
multiple times in a row now flips back and forth between two scroll positions as expected. - Fixed: Version 0.19.0 claimed to include the following improvement: “The hint
marker for a smaller element can no longer cover the hint marker for a larger
element (unless you press
<c-space>
to rotate them).” However, a silly mistake caused that improvement not to work. Now it does. For real. - Fixed: All VimFx commands that copy text to the clipboard are now made sure to
also copy to the “selection clipboard” (if your system has such a thing). For
example, if you copy text using the
yv
command, thep
command now uses that copied text as expected.
- Fixed: The
'
command no longer crashes. (Regression since 0.19.0.)
New feature: Hint markers can now be filtered by element text, similar to Vimium, Vimperator and Pentadactyl. This is useful for people who simply prefer that workflow, and for clicking tiny pagination links (simply type its number!).
By default, filtering by element text is done by typing uppercase characters (hold down shift!). All characters other than the hint characters are now used to filter hint markers by element text (rather than just being ignored). Do you prefer filtering by element text, but dislike typing uppercase letters? Have a look at how hint characters work to make things the other way around!
The markers with the best hint are now highlighted with a different color. You
may at any time press <enter>
to activate those markers (or <c-enter>
or
<a-enter>
to change where and how to open links, just like you can hold ctrl
or alt for the last hint character).
Because of the above new features, the following default Hints mode shortcuts had to be changed:
<space>
→<c-space>
(<s-space>
is left untouched)<s->
→<c-s->
(hold ctrl and shift to peek through hint markers)<enter>
→<up>
<c-enter>
→<c-backspace>
To make it easier to see the element text, hint markers are now nudged to the left if they cover the text.
Other hint marker improvements:
- Hint markers are now 20% smaller by default. While trying to match text sizes set by your operating system, they ended up a bit too large on most systems. Check out the Styling documentation if you’d like to change the font size.
- Hint markers now have stronger contrast between the background color and the text color, which should make them easier to read.
- The CSS for hint markers have been improved, making it easier to use custom Styling.
- When several elements have the same area, the best hint is now correctly given to the first of those elements. Previously, it happened to be the other way around.
- The hint marker for a smaller element can no longer cover the hint marker for
a larger element (unless you press
<c-space>
to rotate them). - Hint markers are now better positioned when having zoomed the page in or out.
- Hints mode is now more robust in general. Several race conditions have been fixed.
- Added: The ability to export, import and reset all VimFx options. There are three shiny new buttons for this in VimFx’s options page in the Add-ons Manager!
- Added: The
gB
command, which lets you quickly blacklist (and un-blacklist) sites. - Added: The
ec
command, for opening the context menu of elements. - Added: The
ep
command, for opening links in new private windows. - Improved:
h
,l
,j
andk
now feel more like scrolling with the arrow keys when held down, by boosting the scrolling speed. See thescroll.horizontal_boost
andscroll.vertical_boost
options for more information. - Fixed: VimFx’s find bar integration is now much more robust. Most notably, if
you start typing directly after pressing
/
and Firefox is slow at opening the find bar, your keypresses can no longer trigger VimFx commands or Firefox built-in commands. - Improved: VimFx no longer leaks keypresses to the web page in some modes. (For example, counts in Caret mode).
- Improved: The
eb
command now finds more clickable elements in the devtools. - Changed:
vimfx.addKeyOverrides
no longer lets you easily break for example Hints mode, by now only being applied to Normal mode. You might need to change your matchers from(location, mode) => ...
to simplylocation => ...
. (Breaking API change.) - Changed: The object passed to custom commands (and custom modes) no longer
contains a
uiEvent
property. Instead, there’s anevent
property. This property can be used the same way if you checkvim.isUIEvent(event)
first. (Breaking API change.)
- Fixed:
vimfx.addOptionOverrides
no longer crashes on startup. - Fixed:
vimfx.addOptionOverrides
can now override theprevent_autofocus
pref again.
Some default keyboard shortcuts have been changed.
-
Hint commands. Many of the old ones were difficult to remember, and there was no space for adding new ones.
gf
→et
(t as in tab)gF
→ew
(w as in window)zf
→ef
(f as in focus)zF
→eb
(b as in browser)zv
→av
(you actually select all of the element’s text)
(
f
,yf
,af
,v
andyv
stay unchanged.)There is a longer explanation of these new defaults in the documentation.
-
zr
→gC
.zr
was the only shortcut starting withz
. This frees that key up for other uses. -
`
→'
. The`
shortcut (“scroll to mark”) as well as the`
mark (“last position mark”) have both been changed to'
. Both`
and'
are used in Vim.'
is a better default, because it is easier to type–both on an en-US QWERTY keyboard and, more importantly, on some international layouts, such as the sv-SE QWERTY layout.Note: If you miss Firefox’s default
'
shortcut to open the Quick Find bar (which is now overridden), remember that VimFx providesg/
which does the same thing. (You can of course also change VimFx’s shortcuts.)
See also issue #788.
- Added: It is now possible to create custom hint commands.
- Fixed: The bottom-right corner of the page scrollbars can now be used with the mouse again.
- Fixed: The toolbar button now correctly toggles VimFx’s Keyboard Shortcuts dialog again.
- Updated locales: fr, ru. Thanks to Mickaël RAYBAUD-ROIG (@m-r-r) and Nicholas Guriev (@mymedia2)!
- Improved: The usage of modifier keys in Hints mode is now shown in VimFx’s Keyboard Shortcuts help dialog. The functionality has been there for a long time, but should now be easier to find. Thanks to our awesome translators, the new help text is already available in most supported locales!
- Improved: If you submit a form while still being inside one of its text
inputs, that text input is now automatically blurred. This lets you use VimFx
commands while waiting for the form to submit without having to press
<escape>
first. - Improved: The
gu
command now works better on some pages, by preserving a trailing slash. Thanks to @sinkuu! - Improved: VimFx now recognizes text areas in the TYPO3 CMS.
- Improved: The
<escape>
command and the toolbar button now let you escape back to Normal mode if VimFx ever gets stuck thinking that you are typing in a text input.
- Improved: The
zF
command can now open even more dropdown menus of buttons.
- Improved: The
zF
command now works with more buttons and is able to open dropdown menus of buttons. - Fixed: The
f
commands now recognize more file upload buttons. - Fixed: Rotating hint markers now works more as expected after having entered a few hint chars.
- Fixed: Scrolling now works in SVG documents.
- Fixed: Opening links in new tabs in Firefox 50.
- Updated locales: pt-BR and ru. Thanks to Átila Camurça Alves (@atilacamurca) and Nicholas Guriev (@mymedia2)!
- Fixed: The
zF
command no longer accidentally double-clicks instead of single-clicking. Thanks to Alan Wu (@XrXr)! - Fixed: The
zF
command no longer crashes in Firefox 49+. - Fixed: The “URL popup,” shown when hovering or focusing links, now appears
again when focusing links using
zf
(regression since 0.17.0). - Updated locale: it. Thanks to Carlo Bertoldi (@cbertoldi)!
- Fixed: VimFx no longer scrolls smaller elements on a page instead of the entire page on some sites.
- Improved: The
/
,n
andN
have been drastically sped up (whenfind_from_top_of_viewport
is on). Previously, they appeared to freeze on some sites, but not anymore. - Improved: You can no longer accidentally trigger VimFx between pressing
/
and the find bar input being is focused. - Improved: The
n
andN
commands are now more robust. - Improved: “Fullscreen” buttons and “Copy to clipboard” buttons can now be
activated the
f
command. Thanks to Alan Wu (@XrXr)! - Changed: After having pressed
m
or`
VimFx no longer waits indefinitely for you to press a mark key. Instead, the timeout option is honored. - Changed: After having pressed
m
or`
you can now press<escape>
to abort those commands. - Changed: Find mode is no longer shown in VimFx’s Keyboard Shortcuts help dialog, to reduce clutter. (This can be changed through custom styling.)
- Changed: The
?
command as well as the toolbar button now toggle VimFx’s Keyboard Shortcuts help dialog (instead of always showing it, even if it was already shown.) - Changed: Counts are now ignored in Ignore mode. Previously, pressing number keys would both send those key presses to the page and contribute to the count for commands (showing up in the bottom-right corner). This is no longer the case.
- Updated locales: fr, zh-CN and zh-TW. Thanks to Mickaël RAYBAUD-ROIG (@m-r-r), @av2000ii and Robert Wang (@cyberrob)!
- Fixed: The
zF
command no longer crashes (regression since 0.16.0).
- Fixed: The text input focus detection problems introduced in 0.15.1, which sometimes caused VimFx commands to be triggered while typing in text inputs, have been fixed.
- Improved: If you press
n
orN
when there are are no matches for your search, the find bar is no longer opened. Only a notification is shown. The reliability of those notifications has also been improved. - Improved: Hints mode now finds more links.
- Improved: Pressing
<c-enter>
in Hints mode now includes more elements. - Updated locales: es, zh-CN. Thanks to @strel and @av2000ii!
- Improved: Better hints on Twitter.
- Improved: Compatibility with the Evernote Web Clipper add-on (and potentially other add-ons with similar UI).
- Updated locale: ja. Thanks to Kaoru Esashika (@pluser)!
- Improved: Hint markers now appear up to twice as fast on many pages. This is done by creating the hint markers in two phases. Most are created in the first, fast, phase. The rest take the same time as older VimFx versions to show up.
- Fixed: VimFx no longer triggers commands while typing in fancy text inputs on
some sites, such as when composing a new tweet on Twitter. (See also the
blur_timeout
pref.) - Changed: The
<c-enter>
Hints mode command no longer replaces all hint markers on screen (with new ones for all elements on screen). Instead, it toggles your current hint markers with ones for all other elements on screen. - Changed: There was a breaking change to the
vimfx.setHintMatcher
function of theframe.js
config file API. It no longer receives and returns an object (of the shape{type, semantic}
), but instead simply receives and returns thetype
of the element. - Improved: Some internal robustness refactoring.
- Updated locales: de, id, nl and zh-CN. Thanks to @just-barcodes, Yoppy Halilintar (@comepradz), @HJTP, @av2000ii and @mozillazg.
- Fixed: Version 0.14.2 attempted to fix smooth scrolling speed in newer Firefox versions. However, there was a tiny typo that caused the fix not to work. That typo has been corrected.
- Fixed: Smooth scrolling speed is now correct again in newer Firefox versions.
- Fixed: The
yv
Caret mode command now only copies text that you can see on screen (not any hidden text that might be on the page), making it truly work likezv
followed byy
, as intended. This problem was very noticeable on Slack. This also improves copying of 'contenteditable' elements usingyf
. - Fixed:
<escape>
and arrow key handling as well as hint markers in the devtools now work correctly again in newer Firefox versions. - Fixed: VimFx no longer makes it impossible to open the Developer Toolbar.
- Improved: VimFx now ignores
<numlock>
and<capslock>
. If your keyboard sends<numlock>
before some symbols, such as<numlock>$
instead of just$
, shortcuts likegx$
now work out of the box. This also means that you can use<capslock>
instead of<shift>
when typing theJ
ingJ
, for example. - Improved: Some minor cosmetic tweaks in VimFx’s Keyboard Shortcuts help dialog.
- Fixed: The Find commands (such as
/
,n
andN
) no longer crash on some sites (regression since 0.14.0).
- Added: Caret mode, which lets you copy text from web pages using the keyboard.
- Improved: The Find commands (such as
/
,n
andN
) now search from the top of the viewport, instead of from the top of the document, which is more Vim-like and less disorienting. To read more about it (or to return to the Firefox default behavior) please see thefind_from_top_of_viewport
pref. - Improved: Compatibility with the BackTrack Tab History add-on.
- Added: The
<c-enter>
Hints mode command, which creates hint markers for all elements. - Fixed:
__dirname
inside config files now works on Windows. Thanks to Zhong Jianxin (@azuwis)! - Fixed: Unnecessary full-page hint markers on some sites, such as Hackernews, no longer appear.
- Improved: The “last position mark”
`
now works more reliably. - Improved: More video players are now recognized. Many video players lets you
press
<space>
while focused to toggle play/pause. VimFx tries to detect if the currently focused element is a video player. If so,<space>
is passed to the video player instead of scrolling the page. (For those interested, see also theadjustable_element_keys
pref.)
- Fixed: Blacklisting of some XUL pages.
- Fixed: The current mode is no longer lost when a page loads. For example, if
you press
zF
while a page is loading, the markers no longer disappear. - Fixed: Elements that you have focused using an
f
command no longer get stuck appearing as if you’d put the mouse pointer. - Updated locale: zh-CN. Thanks to @mozillazg!
- Added: The
T
command, which opens a new tab after the current. - Changed: The
gl
command now deals with visited tabs only. - Added: The
gL
command, which deals with unvisited tabs only, in oldest-first order. Use this to step through your unvisited background tabs in the order you opened them (for example using theF
command). - Improved: The
gi
command no longer tries to focus the last focused text input if it has been removed from the page. If so, it finds a new one instead. - Fixed: You can now type in sidebar text inputs (such as in the history sidebar) without having to switch to Ignore mode.
- Changed: If you enter Ignore mode you will now stay in Ignore mode in that tab
until you explicitly exit it (by pressing
<s-escape>
), even if you reload the page or follow a link. If Ignore mode was entered automatically because of the blacklist, though, you will be automatically returned to Normal mode if the URL changes to a non-blacklisted page. - Added: VimFx can now automatically enter and exit Ignore mode based on the
currently focused element. Currently, the wasavi extension as well as
CodeMirror in Vim mode are detected. Both of those provide Vim-style
editors. This allows sending
<escape>
to those editors in order to exit their Insert mode, without blurring the editor. - Improved: CodeMirror editors now get better hints, keeping the cursor where you left it.
- Improved: The blacklist is now applied faster on some pages.
- Improved: Many audio and video elements are now recognized as “adjustable”,
allowing you to press for example
<space>
on them to toggle play/pause, without scrolling the page. - Improved: Scrolling by pages, such as using the
<space>
command, now takes fixed heaears and footers into account, just like Firefox does. - Fixed: Access keys now work correctly in context menus in the devtools and
about:config
. - Improved: The arrow keys now Just Work in the devtools, even if you have bound them to VimFx commands.
- Changed: The public API has been removed, and turned into the Config file API. If you were already using a config file, it will no longer work. You need to set up a new one, but you should be able to simply copy and paste the contents of the old one into the new one. Read the config file documentation for more information.
- Changed: There are a few minor breaking changes to the API, though I doubt it
will affect anyone.
- If you use
vimfx.on
, you probably need to adjust the arguments of the your callbacks. They are now always passed an object of data, instead of sometimes passing the data directly. match.focus
of match objects has been removed, and replaced byvim.focusType
of vim objects.
- If you use
- Fixed: The toolbar button’s icon is now correctly sized when setting
layout.css.devPixelsPerPx
to2
. Thanks to Robert Ma (@Hexcles) and Dale Whinham (@dwhinham)! - Fixed: Find commands now work when the find bar was opened before the page had finished loading.
- Improved: Lots of internal improvements. This should make VimFx faster, more
reliable and more responsive.
- All keyboard event handling (except
<late>
shortcuts) are now handled in the UI process, instead of mostly in each tab’s web page content process. This should make VimFx’s shortcuts more reliable and responsive. - Removed all synchronous message passing (execpt for
<late>
keypresses). Mozilla recommends using them only where absolutely necessary. Turns out VimFx doesn’t need them anymore! - The
f
commands are now more reliable. Before, they could crash on rare occasions (on certain web pages), but that is less likely now. - Less
MutationObserver
s are now used. This should improve performance. - Less uncaught errors (especially on shutdown).
- Lots of minor improvements.
- All keyboard event handling (except
- Updated locale: ja. Thanks to Kaoru Esashika (@pluser)!
- Improved: More clickable elements are now recognized. Most notably, elements with click event listeners added by JavaScript now get hints.
- Improved: Autofocus prevention after using the
[
and]
commands. - Added: In VimFx’s Keyboard Shortcuts help dialog (which can be opened by
pressing
?
) you can now click on any command to open VimFx’s settings page in the Add-ons Manager and automatically select the text input for that command, letting you edit its shortcuts. Tip: Use thezF
command to click without using the mouse. - Changed: Autofocus is no longer prevented in Firefox internal pages, such as
about:preferences
,about:addons
andabout:config
(as well as other XUL pages). - Fixed: VimFx and the Beyond Australis extension do not conflict with each other anymore.
- Fixed: The
gH
command no longer nags you about “No back/forward history” even though there is. - Added: The
gl
command now takes a count. - Improved: Optimized CPU usage in Hints mode. (See also the
hints_sleep
pref.) - Improved: The
H
andL
commands should now be more reliable in Firefox 43 and later. - Changed: There was a tiny breaking change to the Public API, though I doubt it will affect anyone. (See commit 0ca807605e if you’re especially interested.)
- Improved: Several minor things, and some really nice internal refactoring.
- Updated locale: de. Thanks to @just-barcodes!
- Fixed: The
`
command is no longer broken. - Fixed: Memory leak.
- Added: The
gl
command, which takes you to the most recent tab. - Improved: The Keyboard Shortcuts help dialog is now scrollable using VimFx’s
scrolling commands. To allow for this, the search field is no longer
autofocused. Instead, press
/
to open it. - Improved: Using the
f
commands, such asf
andzf
, now works like actually moving your mouse onto the link, making hover menus and such-like appear. - Improved: VimFx should now work better with Google Drive Documents, Etherpad and a few other fancy text editors.
- Improved: The
]
command now works on google.com. - Improved: Checkboxes and menu items on gmail.com are now given hints by the
f
command. - Improved: The
gi
command now also recognizes 'contenteditable' elements. - Improved: Hint markers now move along together with their elements.
- Fixed: Hint markers should now be correctly positioned when zooming.
- Fixed: The toolbar button icon should now look correctly on Retina screens.
- Added: You may now disable counts by using toggling the
counts_enabled
pref. - Updated locale: de. Thanks to @just-barcodes!
- Improved: Several minor things.
- Added: The
zF
command, which lets you click browser elements. - Improved: The scrolling commands can now scroll browser elements (in other
words, not only web page content), by first selecting the scollable element
using
zF
. - Added: The
gr
command, which toggles Reader View. - Added: The
gX
command, which opens the Recently Closed Tabs menu at the middle of the screen. - Added: The keys you’ve typed so far of a command, as well the count, are now
shown in a notification. (You may disable this using the
notify_entered_keys
pref.) - Improved: When commands don’t do anything, they show a notification instead,
letting you know that you actually pressed the right keys. For example, if you
press
f
but there are no markable elements visible, a notification is shown telling you so, instead of silently doing nothing. - Improved:
<space>
now scrolls about a line less than a full page, just like Firefox does by default.d
scroll about half a line less (by default), so that pressingd
twice works like pressing<space>
once. (See thescroll.full_page_adjustment
andscroll.half_page_adjustment
prefs for more information.) - Improved:
gi
now only selects all text in its text input if you haven’t focused a text input yet (allowing you to easily replace pre-filled text), instead of always doing so. Otherwise, it now puts the cursor where you left off typing the last time. - Fixed: The
f
commands now put the cursor where you left off typing the last time when focusing a text input. Previously, they accidentally selected all text in the text input (usezf
for that behavior). - Fixed: Yet a scrolling fix. VimFx’s scrolling commands should now “just work” on even more sites.
- Fixed: AltGr should now work out of the box on Windows. (See the
ignore_ctrl_alt
pref for more information.) - Removed: The el-GR, hu and pl locales were sadly too out of date to be useful, and nobody has shown interest in updating them, so they were removed.
- Updated locales: id, de and zh-CN. Thanks to Yoppy Halilintar, @just-barcodes and @mozillazg!
- Fixed: Several tiny bugs.
- Fixed: Links with the
onclick
attribute can now be opened in new tabs again. (Regression since 0.8.0.) - Fixed: The text size in VimFx’s Keyboard Shortcuts help dialog is now correctly resized.
- Added: The
gH
command. It opens the back/forward button context menu in the middle of the window, allowing you to choose a history entry with the arrow keys and<enter>
.
-
Fixed: VimFx now works properly in tabs moved to other windows.
-
Fixed: An unreliable check for multi-process mode has been eliminated, fixing various problems for some users.
-
Fixed: VimFx’s toolbar button now changes color correctly when switching between blacklisted and non-blacklisted tabs.
-
Fixed: Dead keys now work out of the box on Windows.
-
Improved: Links with the
onclick
attribute (abused as buttons) can no longer get the same hint as another link. -
Added: The Keyboard Shortcuts help dialog (shown by pressing
?
) is now searchable. -
Added: The
g/
command. It’s like/
but searches links only. -
Added: Marks.
- Use
ma
to mark the current scroll position and`a
to return to it. (You may substitutea
with any key press.) - Use
``
to return to the position before the lastgg
,G
,0
,$
,/
,n
,N
or`
. (You can change this mark using thelast_scroll_position_mark
pref.)
- Use
-
Added: Window commands.
w
: Open new window.W
: Open new private window.gw
: Move tab to new window.gF
: Follow link in new window.
- Fixed: Scrolling now works correctly in pages in quirks mode (lacking a doctype), such as Hackernews.
- Improved: The largest scrollable element is now detected better in frames.
- Fixed: Hints mode now exits correctly when focusing a text input using
af
, orf
with a count.
- Fixed: The blinking text caret now always appears correctly when focusing text inputs.
- Fixed: The scrolling commands should now “just work” when using non-default zoom or DPI settings, most notably on Google Groups.
- Changed: Instead of using system notifications, which turned out to be a bit too intrusive, notifications are now similar to the “URL popup” (shown when hovering or focusing links) but are placed on the opposite side,.
- Changed: The “Focus next element” and “Focus previous element” commands have
been removed. The reason they existed was to let
<tab>
and<s-tab>
only cycle between text inputs (as opposed to all focusable elements) after you’ve pressedgi
. Now,<tab>
and<s-tab>
are handled specially instead, and only after pressinggi
. The reason for this change is that the now removed commands were too intrusive, breaking user habits. One of VimFx’s main goal is not to do that. (You can turn the special handling of<tab>
and<s-tab>
off using the the newfocus_previous_key
andfocus_next_key
prefs.) - Fixed: The scrolling commands should now “just work” in a lot more situations,
most notably on Gmail and Google Groups. More scrollable elements are also
recognized by the
f
andzf
commands. - Improved: The right border of hint markers for scrollable elements is now styled to remind of a scroll bar, making them easier to recognize among hints for links.
- Improved/Changed:
J
andgJ
now allow a count on the first tab. Consequently,K
andgK
now allow a count on the last tab. - Changed:
gJ
andgK
can no longer be used to pin or unpin tabs. They now only wrap around tabs of the same pinned state. Usegp
to toggle between pinned and non-pinned. - Fixed: Many elements that got a hint before VimFx 0.6.0 now do again.
- Improved: Comment fields on Facebook can now be focused using
f
and blurred using<escape>
. - Improved: VimFx’s toolbar button is no greyed out when you focus a text input. This is to show that your key presses will be passed into the text input rather than activating VimFx commands.
- Added:
g0
,g^
andg$
now accept counts, allowing you to go to tab number count. - Improved:
gi
now finds text inputs inside frames. - Fixed: “gi mode” is now exited properly when blurring a text input.
- Fixed:
<select>
elements are no longer considered to be text inputs when using<tab>
and<s-tab>
in “gi mode.” - Fixed: Using
<force>
or<late>
in a shortcut no longer applies to every shortcut for the command, but only that shortcut. - Fixed: The order of the Previous/Next page patterns is now respected. This
caused the wrong link to be picked by the
[
and]
commands on some pages.
- Improved: If the entire page isn’t scrollable, the largest scrollable element is scrolled instead.
- Fixed: VimFx’s keyboard shortcuts now works on slowly loading pages.
- Fixed: Numbers may now be used as shortcut keys (overriding counts).
- Fixed: The toolbar button’s icon is now correctly sized in high DPI.
- Fixed: Hint markers are now correctly positioned when zooming using the “Zoom text only” option.
- Fixed: The
P
command now works with the InstantFox add-on.
- Fixed: If you customized the “esc” command before VimFx 0.6.0 it should now work as expected.
- Fixed:
<tab>
now works as expected in the location bar and in the dev tools. - Fixed: Light-weight themes can no longer make VimFx’s Keyboard Shortcuts help dialog and hint markers unreadable.
- Added: The notifications_enabled option.
-
VimFx now works properly with any keyboard layout. Users of multiple layouts should enable the ignore keyboard layout option. #249 #259
-
Features related to disabling VimFx, and to the toolbar button:
- Insert Mode has been renamed to Ignore mode.
- Blacklisted sites now enter Ignore mode automatically, instead of being specially handled.
- The feature to click the toolbar button (or press
<a-V>
) to disable VimFx has been removed. Use Ignore mode (i
) and the blacklist instead. - The toolbar button is now red in Ignore mode (which also means that it is red on blacklisted sites) and green otherwise (never grey anymore).
- The toolbar button no longer offers to (un-)blacklist the current domain.
(Head into VimFx’s settings page in the Add-ons Manager and add
*currentdomain.com*
to the blacklist option yourself instead.)
(See commit 3552282 for more information.)
-
Some default shortcuts have changed, mostly because they conflicted with standard Firefox shortcuts: #308
-
<c-J>
→gJ
-
<c-K>
→gK
-
g^
andgH
→g0
g^
now selects the first non pinned tab instead, whileg0
selects the first tab regardless of whether it is pinned or not. #317 -
<c-e>
(alias forj
) and<c-y>
(alias fork
) have been removed. -
<c-f>
→<space>
and<c-b>
→<s-space>
-
vf
→zf
This frees up
v
for future shortcuts (instead makingz
a “namespace” key, just like in Vim). -
To exit Ignore mode:
<escape>
→<s-escape>
. This is because Ignore mode has replaced the disable feature, as well as the special blacklist state (see above). Sites are likely to use<escape>
but not<s-escape>
. (In a way, this new role of Ignore mode also means that the old (many times broken) shortcut to disable VimFx (<a-V>
) has been replaced byi
.) #64 #375 #432
-
-
VimFx’s Keyboard Shortcuts help dialog is now help only, and more accessible. To customize keyboard shortcuts, go to VimFx’s settings page in the Add-ons Manager, just like you would to customize other settings. Also, commas between every key are no longer needed: Type
gJ
instead ofg,J
. -
For performance reasons, Hint markers are now placed vertically centered instead of at the top of the element. Don’t be surprised if you see the same hint repeated several times**—links that go to the same place now get the same hint.** The “Smart hints” option has been removed—hints are always smart now, and a lot smarter than before. Finally, hints now also work in the new tab page, the Add-ons Manager and the preferences page. If you want to, you can read more about the
f
commands. #51 #60 #176 #320 #325 #468 #471 #475 -
The
F
command now always opens tabs in new background tabs, whilegf
has been added to open tabs in new foreground tabs. #227 #464 -
Autofocus prevention is now off by default. One of VimFx’s core philosophies is to be nice to your browser habits. Some find autofocus prevention too big a change. Turn it on again if you like it! By the way, autofocus prevention now works much more reliably and should not cause issues with other extensions. #497 #541
-
The “Scroll step” option has been removed. The scrolling commands that used it now work like the arrow keys instead, and are customized just like them. See scrolling prefs for more information.
-
Speaking of scrolling, which elements scrolls when you use VimFx’s scrolling commands has changed. See scrolling commands for more information.
-
New commands:
gp
pins or unpins the current tab. (Also seeg^
andg0
mentioned above.) #121yt
duplicates the current tab. #1210
and^
scroll to the far left, and$
scrolls to the far right.gi
has finally been implemented. #47- Ignore mode
<s-f1>
let you run a Normal mode command without exiting Ignore mode.
-
In Hints mode you can now hold ctrl and alt to change behavior of the matched marker. Hold shift to temporarily make the hints see-through. See the
f
commands for more information. #220 #421 #484 -
Some commands now accept counts. #374
-
It is now possible to create shortcuts that work inside text inputs. See the
<force>
key for more information. #258 -
It is now possible to create shortcuts that the page can override. See the
<late>
key for more information. -
A number of advanced options have been added. Rather than listing everything regarding them here, follow that link if you’re interested. #452 #489
-
You may now, if you want to, configure VimFx through a config file, using the new public API. Customizing VimFx through a config file also gives extra abilities, such as site-specific options and disabling certain commands on certain sites. It also allows to add custom commands (and other extensions to extend VimFx). #158 #235 #255 #261 #300 #408 #445 #490 #515
-
It is now easier to customize VimFx through custom styling. An example is changing the way hint markers look. #220 #233 #424 #432 #465
-
VimFx now has documentation and a wiki.
-
A few new locales were added:
- fr. Thanks to Mickaël RAYBAUD-ROIG (@m-r-r)!
- pt-BR. Thanks to Átila Camurça Alves (@atilacamurca)!
- sv-SE. Thanks to Andreas Lindhé (@lindhe)!
-
VimFx is now multi-process/Electrolysis/e10s compatible! This means that you can run VimFx on a version of Firefox with multi-process enabled without issues, and that we’re future proof for the day when Firefox becomes multi-process by default. Best of all, it also made VimFx more reliable in non-multi-process (“regular”) Firefox. #378
-
The
[
and]
commands are now smarter, recognizing more links to the previous/next page correctly. You may read more about previous/next page patterns. #396 -
The
n
andN
commands now notify you when they wrap around the page, or the phrase you searched for could not be found. #398 -
All shortcuts in all modes can now be customized. For example, this allows you to disable VimFx’s Vim-style
<enter>
behavior in the find bar. #222 #390 #421 -
The
p
andP
commands are now smarter regarding whether to treat the clipboard contents as a URL or a search, by working exactly like pasting in the location bar. They also now read the selection clipboard, if available. #353 #382 -
VimFx’s toolbar button is now properly implemented. #303 #349 #383
-
Most locales were updated. Thanks to our awesome translators!
- VimFx now works correctly in tabs dragged to other windows. #57
- The
p
command is no longer broken. #494 - Non-ASCII shortcut keys now work properly. #433
- The Keyboard Shortcuts help dialog can no longer be covered by page elements. #477
- Hint markers can no longer be covered by page elements.
- VimFx no longer causes scripts on icloud.com to get stuck in an infinite loop. #389
- Fixed: The hints generation no longer crashes on some pages (regression since version 0.5.15).
- Fixed: The toolbar button no longer throws errors. (This fix should have been in 0.5.15 but was forgotten. Luckily an AMO reviewer found it.)
- Improved: This version is now forwards-compatible with the upcoming version 0.6.0. Downgrading from 0.6.0 to 0.5.14 or older might cause VimFx to crash, but downgrading from 0.6.0 to 0.5.15 is safe.
- Fixed: Non-hintchars key presses in hints mode are now suppressed. They used to be passed along to the browser, which could confusingly activate site commands.
- Fixed: The 'f' command now always opens links in the same tab. Links used to be able to force a new tab or window.
- Fixed: Pressing 'Esc' in the location bar now restores the URL, as is the default behaviour of Firefox. You may now also close Firefox dialogs using 'Esc'.
- Improved: Updated the de locale. Thanks to Alexander Haeussler!
- Improved: Updated the pl locale. Thanks to morethanoneanimal!
- Fixed: Locales should now work properly.
- Improved: Updated the zh-CN locale (@mozillazg).
- Improved: Updated the de locale (@Kambfhase).
- Added: Japanese locale (@pluser).
- Fixed: If you switched to another tab or window while an
<input>
element was focused and then switched back, the<input>
element got blurred, while it should have stayed focused. This caused the auto-type feature of KeePassX to break.
- Fixed: The vote button on StackExchange sites are now markable again.
- Improved: Detection of previous/next links. Should work better on gmail now.
- Fixed: It is now possible to use Enter/Return in keyboard shortcuts.
- Improved: The n/N commands (etc.) now work even if you didn’t open the finbar using the VimFx command (such as the default key binding ctrl+f, or by clicking a menu item).
- Improved: It is now possible to blur text inputs without sending Esc to the page, which could cause dialogs etc. to annoyingly close.
- Improved: Updated the el-GR locale (@sirodoht).
- Fixed: Autofocus prevention sometimes made text inputs impossible to focus until you reloaded the page.
- Improved: Autofocus prevention now works on more sites than before.
- Improved: Autofocus prevention now prevents all automatic focusing (not just when the page loads). This makes devdocs.io much easier to use.
- Added: When viewing images directly and the image has been resized to fit the screen the image is now markable, allowing you to toggle zoom on it using the keyboard.
- Fixed: It is no longer possible to add conflicting shortcuts (such as adding 'a' when 'af' and 'as' are already present).
- Fixed: Autofocus prevention got stuck sometimes, making it impossible to focus inputs.
- Fixed: The focus search bar command was broken.
- Fixed: Autofocus prevention was broken.
- Fixed: The top bar on YouTube could not be accessed by VimFx.
- Fixed: You can no longer add blank hotkeys.
- Improved: Tab Groups are supported.
- Improved: Matching of previous/next links should be more reliable.
- Improved: A few minor things.
- Fixed yet another bug related to the default preferences
- Fixed a bug with default preferences not being set
- Fixed gg and G to be faster
- AMO Preliminary Review bug fix (sorry for such long delay)
- Bug fix
- Updated some translations
- Updated pagination patterns and logic
- Hotfix release to address a bug that has been introduced in 0.5.4
- Fix for popup passthrough mode stucking
- Make toolbar button click depend on current mode
- Higher weight markers should not be overlapped
- Refactor find mode to use Firefox native search bar
- Bump minimum required Firefox version to 25
- Added commands to go in the URL path
- Added commands to navigate previous and next links with customizable link patterns
- Use Firefox 24+ native console API
- Update zh-CN localization
- Lots of refactoring
- Insert mode (
i
command) - Follow multiple links with
af
command - Hint marker rotation with
space
while in hints mode
- Fixed regression with stylesheets
- Updated icon
- Added command to focus search bar:
O
- Added commands to stop loading current page and all pages:
s
andas
- Invisible elements will not get hint markers
- Compatibility with Firefox 25
- Simple shortcut customization with UI in Help dialog
- Use Huffman coding algorithm for hint markers generation which results in shorter links
- Implemented Bloom filters to achieve shorter hints for those shortcuts that are used often
- Reimplemented scrolling - now works with pages where window is not scrollable
- Find disabled on non HTML documents
- Find string is now global for all windows.
- Fixed logic of locale discovery. Now we rely on general.useragent.locale Firefox preference for current locale
embed
andobject
tags will now have their own hints- Bug fixes related to custom hint chars (@LordJZ)
- Fixed
t
- now it will be nice to other extensions - Updated Chinese translations (@mozillazg)
- Reenter Normal mode on page reloads to avoid getting stuck in Hints mode without any hints
- Search will focus element that contains matching text
- Fixed hint markers for iframes
- Marker bug fixes (@LordJZ)
- Reimplemented find mode: CJK support, performance boost
a/
ora.
to highlight all matches of the search string on the page- Hint markers will now reach into iframes
- Key handling is disabled when a popupmenu or panel are shown
yf
will now also focus links and copy values from text/textarea elementvf
will show hit markers to focus the underlying element
:
to open Firefox Developer Toolbar,Esc
to close it.- Add Hungarian locale (@thenonameguy).
- Add Polish locale (@grn).
- Don't close pinned tabs when pressing x (@grn).
- Switched to Makefile for building the extension release (@carno).
- Mrakers CSS tweaks (@helmuthdu)
- Thanks to @mozillazg and @mcomella for translation contributions.
- Added
gh
command that will navigate to the home page. - Added
o
command to focus location bar. p
andP
will parse the contents of the clipboard. If the string in the clipboard appears to be a URL then it will navigate to this URL. Otherwise it will search for the string in the clipboard using currently selected search provider.- Now hint markers for links will stay on top of all the markers for different kinds of elements.
- Esc will now also close the focused default search bar.
- Fixed bugs related to keyboard events handling, XUL documents, and some other issues.
- Bug fixed where not all the commands could be disabled via the Help dialog.
- Toolbar button bugfix
- Added an option to disable individual commands via the help dialog
- Small tweaks of the find feature.
- Bugfix for keyboard handling on non-english keyboard layouts
- Implemented find with
/
andn/N
- Added
ar
andaR
commands to reload pages in all open tabs. - Added a preference that enables blurring from any element that has input focus in the browser on Esc keydown (on by default)
- Fixed bug where markers and help dialog would blow up some of the pages.
- Marker hints are now sorted with respect to the underlying element area. Elements with larger area get shorter hints
- Added mail.google.com to the default black list
- Various bug fixed and improvements.
- Hotfixes for the build script to include localization related files and folders
- Fixed Desktop extension compatibility problem
- Removed c-b/c-f for now. c-f is a standard search hotkey. Will put c-f back when proper Vim-like search with / is implemented
- Scrolling with G will now reach the bottom of the page
- Implemented localization, currently there is only Russian localization. Community is welcome to contribute your localizations!
- Implemented simple smooth scrolling
- document.designMode='on' is now honored. Will also provide hint markers for iframes on the page.
- Bug fixed where it would completely reset the toolbar while installing the toolbar button.
- Bug fixed where it's not possible to change the text in the blacklisting textbox
- Changed u/d to scroll half a page, added c-f/c-b to scroll full page
- Added tab movement commands: c-J and c-K.
- Invisible markers bug fixed.
- Global hotkey to disable the commands (equal to the toolbar button click): Alt-Shift V
- ^u and ^d are removed from the command list. ^u is commonly used to show the page source code
- Opening new tab with now focuses the location bar
- Other small bugs nailed down.
- Just to deal with AMO - no changes
- Initial Release