ReadMe: https://github.com/gdh1995/vimium-c/#readme .
说明文档: https://gitee.com/gdh1995/vimium-c#readme , https://github.com/gdh1995/vimium-c/blob/master/README-zh.md .
- Firefox: fix the Options page would break in a tab container
- it may causes bugs on Firefox and Chromium. For example the process of updating settings may be affected
- if any potential problem is found, please file a new issue on https://github.com/gdh1995/vimium-c/issues
- fix some key handlers didn't support composed keys, like
LinkHints autoUnhover=<esc>
(325 (comment)) LinkHints:
usethen={...}
to configure following Vomnibar / Visual ModeScroller
: supportscrollable=host-regexp##css-selectors;hostRe2##selectors2
to select default scrollable elements.filter
of tab commands: addlimit=number|"count"
anddiscarded=false
captureTab
: addcopy
anddownload=false
on Firefox- Custom CSS: add a new section named
#find:selection
to render selection areas (#481) - add
vimium://urls/key1|key2:query words
, to open multiple URLs in one command- for example,
vimium://urls/g|bing:$S
will open Bing and Google search results
- for example,
dispatchEvent
: now can dispatch to<body>
if no element is focused (still call$else
though)- fix some other bugs and issues
runKey
now supportmask=true|""|<placeholder>
- in
run <v-lh> LinkHints.activate$s mask= \n run Fq lh WithQueue
,Fq
works likeLinkHints.activateWithQueue
- in
- fix
Vomnibar
may fail to switch to another tab on Firefox - fix broken
moveTabToNewWindow
andmoveTabToIncognito
on Firefox - fix the extension icon was never updated to represent current working status
- improve
openBookmark
: if.mask
then fill.title
with one unknown keyrunKey
now treats unknown options as command options (o.
can be stripped)- in
map <v-ob> openBookmark title="v:$s" mask \n run ot ob 1
,ot
works likeopenBookmark title=v:1
- improve
editText
: itsreplace
command supports placeholder and URL-encoding text- e.g.:
editText run="replace,_$s%20%s_"
will replace "abc
" with "_abc abc_
"
- e.g.:
- add more options to
moveTabToNewWindow
andmoveTabToNextWindow
- search engines: add some famous engines to the default list
- text substitution: now allow numbers and underscore in keys
- the settings template is update to demonstrate latest syntaxes in key mappings
- fix some found bugs
- fix a compatibility issue with extensions which use CustomElement on Firefox
- fix
visitPreviousTab
may ignore.filter
- LinkHints: add
.suppressInput
to prevent IME from affecting selection - Vomnibar: now can open a background tab and hide by
<a-c-s-enter>
- Scroller: better support for scrolling in iframes
- better compatibility
- keyboard: with some system-level shortcuts of composed keys
- with some extensions with card-style UI
- avoid reporting issues on latest Chromium browsers which recommends
userAgentData
- URL matching: support new
URLPattern
in W3C spec. - key mappings:
runKey
supports inline options which look like#a=b&c=d%20e
(wiki added)- key mappings: add a new syntax of
run key otherKeys
as an alias ofrunKey key keys="otherKeys"
- add
openBookmark
andvimium://run/<key-tree>
to run long command sequences with complicated options - now support nested calls (but still refuse to call itself directly)
- key mappings: add a new syntax of
LinkHints
/focusInput
: always add elements matching.clickable
even in other modesLinkHints
: improveautoUnhover
(#325) and add a trick to copy image URLs (#399)- Vomnibar: support
mapKey
from keys to<v-*>
(trigger commands) or<enter>
dispatchEvent
: add a new mode:key="Key,keyCode[,Code]"
in which a defaultCode
is itsKey
value- text substitution: remove old
/[dDr]/
keywords in "flag" parts - improve
.filter
in tab-related commands - fix some other small bugs
- fix a crash during importing settings when browser language is not Chinese
- small improvements on
runKey
LinkHints.*
:.toggle
option: accept[+-]?(\[attr[~*]?=.*\]|\.?\S*)
to modify attributes and classNames
- Chrome: fix Vimium C Options can not show if only setting syncing is enabled
- when
Local encoding
isutf*
, fix broken Vomnibar and settings importing/exporting - fix Vomnibar didn't show favIcons on Chrome
- fix some other bugs
- add a new command of
dispatchEvent
to simulate dispatching events (options are used to init events)- if with
esc=true
, then it will act as "Escape
in normal mode" - in other cases, Vimium C won't consume such events unless before Chrome 46
- if with
.filter
option: support sub-arguments likeurl=...
andhost=...
- keyMappings: not treat a line as an error if with
$if={...}
- add
unmap!
to unmap a key sequence when it exists - aka ignoring errros
- add
- word around some configurations of
Dark Reader
- fix settings has no backup in
storage.local
when syncing is disabled
- improved key mappings
Vomnibar
: fix URLs with space characters would breakmap
: fix bugs of$then
and$else
, and apply them to much more commands- for example,
enterFindMode
supports$then="enterVisualMode"
, andscroll*
runs$then
when something is scrolled - most commands operating tabs support
$then
and$else
- for example,
runKey
command: change syntax of.keys
, to support command treesenv
: nowhost
only considers about top frame URL; addiframe: boolean | string
to match iframesmapKey
: support<...:n>
and they will only take effect in normal modeLinkHints
: image mode: now can open simple SVG images- Firefox: some commands operating tabs will run faster when repeating count is 1
- fix
w
ande
inVisualMode
on Chrome 90+ on Windows - fix
passNextKey
on macOS - fix a bug about
filter
incloseOtherTabs
;joinTabs
andsortTabs
now supportsfilter
- some other improvements and bug fixes
- fix broken
mapKey
- fix simulated
mouseenter
andmouseleave
- improve logic about
$then
and$else
- add a basic support for tab containers on Firefox
- fix broken
goBack
- fix
moveTabToNextWindow
would create an extra tab
- key mappings: now a name of key can include _ ("underscore")
- so a key can be named
<v-hint_mode1>
- much more readable - now all directives support
$if
- add
$then:Key $else:Key
for many commands, to run a sequence of commands- please search
Req.FallbackOptions
in source code to find which support them
- please search
runKey
: add a simpler syntax:expect="envName1:keySeq1,env2:key2"
- so a key can be named
- open URL: now most options can work together (orthorhombic)
- change meaning of
reuse=last-wnd-bg
: create an active tab but not activate the last window - add
replace:URLPattern
to find (match) a tab by URL and replace it with a target URL - improve URL detection when open copied URL, and add
copied=urls|any-urls
to open a list of copied URLs - most commands to open URL now support options including
keyword testUrl replace position sed window
createTab
is now full featured and works just like an alias ofopenUrl
(#344)Vomnibar
: decodefile:///
URLs on Windows system
- change meaning of
LinkHints
: add lots of options to do whatever needed- improve in focus (#328), newtab (#340), downloading (#332) and
video,audio
(#323) - add
.evenIf:enum typeFilter:enum textFilter:RegExp anyText:bool
to allow/refuse elements LinkHints.click
: add an object optiondirectOptions={}
to iterate in matches (phlic#595)
- improve in focus (#328), newtab (#340), downloading (#332) and
- text substitution: add some actions and allow non-EN context keys for users to customize rules
Vomnibar
: now can remove session items on FirefoxgoNext
: fix logic of itsmatch
optionperformFind
: addquery:string restart:bool
to search given query directlyenterInsertMode
: allow non-word character as key (#325)- UI: support
forced-colors
and use thicker borders on a high-DPI screen (scaling >= 200%) - injection: use
[data-block-focus]
to grab focus on other extensions' pages (#164) - optional permissions: add support for
chrome://*/*
- fix some bugs
- Firefox: fix breaking before Firefox 79
- add new options to request optional permissions like
downloads
- with
downloads
,closeDownloadBar
will be able to keep your tab groups unchanged - if the flag
#extensions-on-chrome-urls
is enabled, now work on the native New Tab Page on Chrome 85+- note: only tested on Chrome, and other browsers like MS Edge may refuses this injection
contentSettings
has been moved to optional, so in a fresh installationtoggleCS
may not work but show an error tip
- with
- fix a compatibility issue about fullscreen on new MS Edge
- VisualMode: fix behavior of
w
on Firefox LinkHints
: supportexclude: css-selector
to exclude special elements- add
vimium://sed
,sed-p
andsed2
- see https://github.com/gdh1995/vimium-c/commit/41e239654b4652417aec3b9645b2360557842418 for detailed usages
- Firefox: allow restoring an incognito tab if
incognito="force"
- Chrome:
moveTab
now keeps tab in its group, unlessgroup="ignore"
- add some other options to commands like
zoomIn
,toggleMuteTab
- fix some bugs
- refuse to open known "harmful" URLs and show a tip: for example, the
...\condrv\kernelconnect
will trigger an error - key mappings:
env
: addfullscreen: boolean
to detect element-wise fullscreen mode LinkHints.click
: adddirect="element" match=... index=<number>|"count"
to directly select any element and click- Scroller: support
keepHover=true|"auto"|false|"never"|<number>
"auto"
to detect 3 times of losing frames (interval>
20ms) and then prevent hover effectsfalse
means to prevent by default, unless there's selected text;never
means to ignore selection status<number>
means a minimum latency for"auto"
, if it>=
20
- Scroller: fix broken
scrollPx*
and some other issues - Vomnibar: if in domain mode (query starts with
:d
), then show a list of matched domains - Vomnibar: fix an order bug on pagedown
goNext
: prefer the value of[aria-label]
if text is very short (up to 2 characters, like icons)- improved
vimium://show #!image
- fix
ignoreKeyboardLayout
didn't work if it had been enabled - fix in FindMode RegExp mode could not match non-English letters
- Firefox:
LinkHints.activateModeToDownloadImage
now opens a plain tab, to support Ctrl+S vimium://show
: add a parameter ofpixel=1
to show pixelated images
- add
map *** runKey expect={env1:key1} keys=<default_key>
withenv name ...conditions
- now Vimium C can trigger different commands on different websites / for different active elements
- see https://github.com/gdh1995/vimium-c/wiki/Map-a-key-to-different-commands-on-different-websites
- add
LinkHints.click
to click selected text, focused element or the nearest clicked ignoreKeyboardLayout
: add a partly-checked state which requires Alt to ignore layouts- FindMode: use
normalize
to normalize text before finding and get a more accurate count - when operate multiple tabs, not limit the range to one side if count < 10
gotoRoot
: if there're sed rules marked with"r"
, then use them to learn sub roots- omnibox: move title before URL - just like Firefox/Chrome/Edge
- Vomnibar: now can query an encoded URL in browser history
- increase
minimum_chrome_version
to47
- some other enhancements
- fix some bugs including that
goToRoot
andshowTip
may break
- fix a crash preventing Vomnibar and Scroller from working (#250)
- fix crashes in the Firefox / Edge store versions (#251)
new features:
scroll*
: support a monitor with a high refresh rateLinkHints
: supportclickable=<CSS-selector>
to mark any element clickable- also support
match=<CSS-selector>
to show hints for matched elements only goNext
andfocusInput
also support them
- also support
goNext
: support substituting a tab URL and jumping to it- need to convert the index number of URL into
${index[/[min]:[max]:[step]]}
first - the default key when substituting is
n
, andgoNext
now supportssed
- the later parts are optional, and the shortest format is
${curIndex}
goNext
will use a new URL ofindex + step
, or find an element as a fallback if a tab URL is not converted- if
absolute
, then use command count as the new index - now can skip checking the
rel
attribute bynoRel
- need to convert the index number of URL into
- Vomnibar: run sed with a key of "
o
" on enter if the input line is selected - Vomnibar: math calculator: now support
rad
,+−×÷
,3² + 4²
and°
- a new command of
runKey
withkeys:string[]
: act like another key which is selected in itskeys
option using command count - a new command of
sendToExtension
: send messages to other extensions vimium://status
now supportstoggle-enabled/toggle-disabled/toggle-reset
- switch in only 2 statuses, still with an optional list of hooked keys
- when displaying an image, Ctrl+C will copy a HTML part on a latest Chrome
- then it can be pasted directly in MS Word
breaking changes:
- add a timeout of 30 seconds after pressing a prefix key
- add a few search engines into the default list
- some of them are default only when browser language is Chinese
- keyboard event: not use a
code
if it looks likeKey*
while theevent.key
is long (philc#3317)
bug fixes:
- scroll: fix
keepHover=false
breaks all UI until aLinkHints
command - Chrome: the watcher for click event listeners: fix a naive security bug
- fix some edge cases
- fix some bugs
- fix losing some hints on v1.86.0
- add
LinkHints.activateToSelect
which usescaret: boolean, visual=true
- it works just like the
element_text_select
command in VimFx
- it works just like the
- FindMode: press
<c-s-j>
and<c-s-k>
to flash rects over all visible matched text - FindMode: now enable the multi-line flag when in regexp mode
Marks.clearLocal
: add an optionall
to clear local marks of all websites- Firefox: fix VisualMode might crash when selection met a text box
- fix some other bugs
- now Marks won't erase Vimium's local marks
- now open the command list dialog on a first installation
- UI: fix missing borders on Chrome 85+ if a screen is in some special DPIs
LinkHints.activateModeToOpenVomnibar
: fixurl=true
didn't workcopyCurrentUrl
withtype=frame
now works on PDF Viewer for Vimium CgoUp
/goToRoot
now usestype=frame
/type=tab
to decide their target- Vomnibar: add a classname of
has-dark
to<body>
when in dark mode
- fix LinkHints/Vomnibar could not work in some situations on Google Docs (#211)
- options page: fix that it might save key mappings in a wrong syntax
- Vomnibar: use a better strategy to replace
。
in Chinese with.
in English - PDF Viewer for Vimium C: now only copy the URL of an opened PDF file in
copyCurrentUrl
moveTabToNextWindow
: now supportminimized=false
to skip minimized windows
- Firefox: fix that Vimium C would break some iframes
- Vomnibar: fix a regression which would interrupt inputting by IME
- Vomnibar settings: add
action=""/"opener"
(for #198) - add an option
opener
to some commands which open URLs, to always set opener - add an option
richText
to some commands in order to copy HTML content - FindMode: add a cache for 3~6 seconds, so if a page changes rapidly, shown
count
may be a bit inaccurate - paste from clipboard: now accept a string of up to 20M characters
- add a command
sortTabs
to sort tabs, and supportsort=""/create/recency
(#207) - LinkHints: add an option
position
and allposition
options accept"default"
(#208) - add a command
captureTab
to capture the visible area of a current tab - now open Vimium C Options page on first installation
- add some other command options
- fix some bugs and wrong usages
- fix broken
autoCopy
- substitution rules: fix some bugs in text substitution
- now execute actions in their declaration sequence
- add some actions: base64, btoa, encode, eecodecomp
- Firefox: Vomnibar: not list hidden tabs by default, unless
hiddenTabs=true
goNext
: fix some issuesopenUrl
: addtitle_mask
- Vomnibar: add a style keyword of
time
to show time string (#154) - add a new command:
addBookmark
with an option ofpath: string
toggleReaderMode
: now work on Edge (Chromium)removeTab
: now supportkeepWindow=always
searchInAnother
: fix a regression that the default ofreuse
should becurrent
- substitution rules: add a new filter:
,host=*.example.com
- fix some edge cases
- FindMode: better support for regexp queries, like matching
\ra(?!nd)
inabc and def
- mapped long keys ending with
:i
always work in a plain insert mode- for example,
map <c-j:i> editText run="auto,forward,line"
will move caret down by a line, only in insert mode - not in any global insert mode of
enterInsertMode
- for example,
- fix it could not enter VisualMode if FindMode had never been activated
- LinkHints: a new option
newtab=last-window
to open links in the other window - a new command
toggleStyle
to insert/remove CSS styles to pages - a new command
scrollSelect
to switch selection in<select>
boxes editText
: support a new action of "auto
", to switch inextend
andmove
according to selection typeenterInsertMode
: support 2 new options ofunhover
andreset
to clear old modes
- LinkHints: better compatibility with Firefox popup blocker in "newtab" mode
- now support the high contrast mode on Firefox and Edge (Chromium) (#191)
- fix some bugs, including a regression of custom CSS and broken Tab during
focusInput
- substitution rules: extend its usages
- support post-actions like
decode/unescape/upper/lower/reverse
- the syntax is
s/query/replaced/i,decode,upper,reverse
: repeatly append a , and an action - most related commands supports
sedKey: character
to filter pre-defined rules - now the prefix of a rule can include up to 6 any English letters, and the rule gets used if only
sedKey
is in it
- support post-actions like
focusInput
: add optionprefer: CSS selector
to choose a desired input- Vomnibar: use Meta+N to select the N-th item, like Alfred
- Vomnibar: add an option
incognito=null/boolean/"reverse"
(#195) - Marks: now allow some host pages to report scrolling position and jump to marks in their own ways (#193)
- the UI of options page: use flat mode
- build: record arguments to be able to reproduce the same package, in order to meet requirements of Firefox Add-ons
- better simulating of mouse events: wait for 1~2 microticks, so that work better with modern frameworks
- fix some bugs about
LinkHints
and the Display page focusInput
: follow "Detect whether links are completely covered or not"- support an option
reachable: boolean
to override this behavior
- support an option
goNext
: now find links in all same-origin framesgoUp
: support an optionsed
to use substitution rules with prefix=g
- Block list of words: a small change to how to detect comments
- settings: show advanced options and command items by default
- export settings: now support non-English characters in block list of words
- createTab: in an incognito window, now don't open extension pages by default, unless
evenIncognito
- Scroller: make
keepHover
enabled by default; also use a cheaper way to prevent hover effects autoOpen
/openUrl
: add an optiontestUrl
, which is default tofalse
if the optionkeyword
is not empty- LinkHints: use
[aria-label]
and supporthtml[data-vimium-hints=ordinal]
- Vomnibar: fix bugs when preferring a web page as the Vomnibar page; fix no favicons on Firefox
- Vomnibar: add an option
engines: enum
to filter out any engines - scroller: continue scrolling when irrelevant keys get released
- fix some other bugs
- LinkHints: no hint links on an iframe if it's wholly covered
- FindMode: fix an edge case Ctrl+J may hang at a place
- Vomnibar: fix a bug the
currentWindow
option may affect a nextactivateTabSelection
command - settings: fix a crash during auto-recovering when
localStorage
got cleared - copy to clipboard: avoid spaces occur in URLs
- export settings: encode the block list of words using base64
- Firefox on Android: highly experimental support
- fix some other bugs
- i18n: support French when showing tips
- releases on the store: increase the required minimum Chrome version to 43
- Vomnibar: fix some bugs when a query starts with
vimium://cd
- options page: if there're errors in custom key mappings, show them directly
mapkey
: support$if={os: "win"|"mac"|"linux", browser: int}
, just likemap
- text substitution: add a prefix of
i
and two suffixes ofr
andd
i
is forvimium://show image
to parse high-resolution image URLsr
means "reverse", and treats a first matched group as the resultd
means "decode URL", and it will try to decode result URLs
- LinkHints: show indigenized upper-case characters (experimentally)
- Vomnibar: now expose visit time for customized Vomnibar page (#154)
autoOpen
: add an option ofcopy
(#159)- fix an error on iframes before Chrome 36 and when
#enable-javascript-harmony
is on
LinkHints
: Filtered hints: use Alt+N to filter by link text (#122)LinkHints
: addscroll="force"
to focus and then scroll some special boxes (#147)Scroller
: add an option ofpassPointer
to pass pointer eventsVomnibar
: add an option oficase
(#131 (comment))closeOtherTabs
: addfilter=""/url/url+hash/url+title
(#148)- Clipboard text Substitution: now accept empty destination strings
- better support for the flag
#freeze-user-agent
on Chrome 81
Vomnibar
: roll back and prefer visited tabs to newly-opened ones (#60 (comment))- support
noTabs
or":H"
to avoid searching opened tabs in omni mode - add
autoSelect
and enable it by default in history/bookmark/tabs mode (#144) - add
searchInput=false
to prevent default searching
- support
mapKey
: support a new mode ID ofe
(NExt) and use it when a prefix sequence of count/key has been typed.LinkHints
: supportautoUnhover
to unhover a link node once it's clicked- on Firefox: press Esc to auto unhover a link node after opening it in a new tab
focusInput
: supportact="last"|"last-visible"
(#127 (comment))goNext
: prefer completely matched text (e.g.">"
is preferred to">|"
)goBack
: add an option oflocal
to always usehistory.go
, instead of async going- popup page: if an extension wants to run Vimium C but not is allowed, show a button to auto allow it
- some bug fixes
- fix that - or software-produced Escape can not be recognized (#129)
- Privacy Policy: update to allow short-term and in-memory cache for Vomnibar suggestions
- Vomnibar: also match queries in all tabs when in omni mode
- Vomnibar: fix some edge cases and improve performance when matching queries
- Vomnibar: show indexes on Alt and quickly access items with Alt + Number
- on macOs, use Ctrl + Alt + Number (
<a-c-N>
) instead - keys can be re-mapped: see #135 (comment)
- on macOs, use Ctrl + Alt + Number (
- LinkHints: Firefox: improve reachability detection for scrollable areas
- LinkHints: Filtered Hints: make hint keys follow page numbers
- Scroller: use a lightweight method to deactivate hover effects globally if smooth scrolling is enabled (#133)
goNext
: support aria-labelswitchFocus
: add 2 options ofselect
andflash
to work likefocusInput
(#127)- hooked
Function::toString
: not convert those whose body includes__VimiumC_
to()=>1
any more (influence #130) - Chrome release: mark itself offline-enabled
- macOS: LinkHints now works well even if a page zooms in/out many times
- LinkHints: fix a regression some links were not clickable in v1.80.2 (philc/vimium#3501)
- Scroller: if needed, prevent annoying scroll restoration when a page is still loading
- LinkHints: wait for enter: now can use Backspace to exit
copyWindowInfo
: supportjoin="json"
LinkHints
now detects whether links are completely covered or not, and an option can disable this feature- macOS: fix broken LinkHints when a page is zoomed in (#119)
- fix a regression some keys were not excluded successfully (#115)
- Chrome: fix a regression the hook for click listeners became unsafe in v1.80.1
- fix some bugs when handling
vimium://***
URLs (#113) - add a new command of
editText
(#114) - add an option to stop to show notifications on updates (#116)
- support pre-mode "
mapKey
" directive:mapKey <`:o> <f2>
- Vomnibar: always parse
vimium://
URLs, includingvimium://paste [...sed-rules]
- add
vimium://cd <level> [URL]
, and "level" can be....
or/...
- add
sed="s/_/_/g\nRule2..."
option to those commands which uses Clipboard - Chrome 55+: now recognize most elements with click listeners, even under Shadow DOM trees
enterInsertMode
drops support forcode
andstat
options, and turns to thekey
optiongoToRoot
: if repeatsN
times, then only selectN-1
section parts of URL path- Edge: fix support of
<c-[>
- some bug fixes
- LinkHints: Firefox: fix broken Filtered Hints mode (#108)
- LinkHints: change some behavior details
- LinkHints: click mode: check
[aria-hidden]
on SVG elements (#98) - LinkHints: click mode: support plain
Element
nodes - LinkHints: click mode: add
newtab="window"
to open URLs on a new window - LinkHints: hover mode: unhover on
<esc>
- add an advanced option:
Substitution for clipboard text
to replace text before copying and pasting - URL conversion: now auto replace
vimium://paste
with real text content in system clipboard- Firefox: only for commands like
openUrl
; not on Vomnibar because of a bug
- Firefox: only for commands like
copyWindowInfo
: add type=tab to copy info of N tabsgoNext
: support id/class selectorsenterInsertMode
: supportkey: string
to declare a (mapped) key as the one to exit- Vomnibar: dark button: fix it will be overridden when "Auto switch between light and dark mode" is on
- FindMode: apply a new appearance
- fix broken
ignoringKeyboardLayout
in v1.79.2 - LinkHints: filtered hints: fix a crash
- LinkHints: filtered hints: type Space 3 times to activate a current hint
- clickable targets: add detection for
mousedown
anddblclick
listeners - clickable targets: detect SVG nodes with
[role=button]
- Firefox: fix IME compatibility issues in find mode
- Chrome: fix bugs and IME issues in find mode on old versions of Chrome
- add a new option "
mapModifier
" to generate keys like<s-modifier>
- fix some bugs (including some on Edge)
LinkHints
: merge logic from Vimium and add new options- add "Filtered Hints" mode
- support filtering by some common non-English letters
- include a fix for philc/vimium#3103
- use a new algorithm to assign letters in "Alphabet Hints" mode
- support and simulate Vivaldi: add boolean options
noCtrlPlusShift
andswapCtrlAndShift
- add
newtab="force"
to skip click and force openUrlInNewTab - now support
dblclick
andbutton="right"
to double click / click the right button
- add "Filtered Hints" mode
- always hook in-page access keys
- completely avoid negative influence on debugging experience
- the option
hook access keys
which was added in v1.78 is not needed any more
toggleSwitchTemp
: apply on all frames of a tabcreateTab
: ifurl: string
is specified, supportshost_mask: string
- display image: support Ctrl+C to copy image data on Chrome 76+
- open copied URL: auto convert
0.0.0.0
to127.0.0.1
- some other bug fixes and enhancements
- Firefox: fix
focusInput
can not select begin/end of text FindMode
: try to scroll highlighted text into viewVomnibar
: show better favIcons for URLs from search engines- Firefox: a much more efficient way to detect elements with click listeners
- also fix detection on CSP-protected pages
vimium://show
: notify browser not to cache images from incognito tabs- add an option for never writing into caches
- hook access keys: avoid part of negative influence on debugging experience
- fix some other bugs
- Vomnibar: all of its shortcuts, including
<esc>
, now supportmapKey
- now Normal Mode, VisualMode and Vomnibar supports full-featured mapKey
- LinkHints and Marks support mappings from single characters to single characters
- this is enabled by default for
LinkHints.*
, but not forMarks.*
- this is enabled by default for
- others support mappings to Esc (
<esc>
and<c-[>
)
- fix some bugs
- Edge (Chromium): release its first version
- fix that
LinkHints
may focus wrong iframes - fix some other bugs
- Chrome: add a feature to hook in-page "access keys" and enable it by default
- Firefox: support 63+ and more conditions
- VHints: Tab: now only switch visibility in limited ranges
- add
zoomIn
andzoomOut
commands, and use a huge count like1111
to reset zoom (#83, philc#2978) - fix some old bugs
- LinkHints: fix a regression since v1.78.0 that Vimium C might fail in clicking targets inside shadow-DOM trees
- image filename extension: add support for
.apng
exitOnClick
option: fix a bug so that Vomnibar won't exit on simulated mouse events from page scripts
- LinkHints:
touch
mode: now disabled by default; usetouch=true
ortouch="auto"
to enable it - Scroller: support
visualViewport
when computing view size - Scroller: a try to support
scroll-snap-type
on Chrome goNext
: add "上一封" / "下一封" (Chinese words) to the default patterns- options page:
drag-and-drop
exclusion rules to reorder them - fix some bugs
- Firefox: fix broken
LinkHints
- its UI uses Simplified Chinese (简体中文) for all
zh-*
language regions - the default value of
ignore keyboard layout
option rolls back tofalse
again - the
passKeys
will only exclude key strokes when the "current key" sequence is empty closeTabsOnRight
now closes all tabs on the right, just like what Vimium does (so doescloseTabsOnLeft
)LinkHints
now uses a single F2 to re-find new page nodes withonclick
event listenersLinkHints.activateModeToCopyLinkText
: add an optionjoin:string/boolean
to join selected text piecesLinkHints
: better support for "weibo.com" and pages using Material DesignLinkHints
: better support for pinch zooming on laptopsLinkHints.activate button="right"
: now simulateauxclick
events- add a command
copyWindowInfo
to copy title and URL info of all tabs - Vomnibar and Help Dialog now support an option
exitOnClick
- Firefox: when browser data is cleared, Vimium C's local data is erased, too, so auto recover those data in time
- Chrome: fix broken
importing settings
on v1.77.1 LinkHints.activateModeToCopyLinkUrl
: fix not finding those in shadow DOM trees- fix some other small bugs
1.77.3:
- 1.77.3: only for Firefox; fix that it could not open "about:newtab"
- 1.77.2: only for Firefox; avoid some error logs in the console of background process
- not manage browser NewTab any more in released versions (#53, #51, #42, #28, #14)
(reverted later)ignoreKeyboardLayout
is enabled by default, to support most keyboard layouts by default- the PRIVACY POLICY has been updated
- translated into Chinese
- some other bug fixes
1.76.8:
- fix Vomnibar might lose focus on YouTube and GMail
- history completer: fix some old items are skipped in prefix matching mode
- Commands: add option
$if={"sys":"win","browser":1}/...
to filter mappings"sys"
can be"win"
,"mac"
or"linux"
"browser"
can be1
(Chrome) |2
(Firefox) |4
(EdgeHTML)
- now most commands support shortcuts well
- "
dark
" invomnibarOptions
now overrides the status ofautoDarkMode
- some other bug fixes
1.76.6:
- fix a bug Escape can not work when ignoring keyboard layout
- fix a regression of v1.76.0 that in LinkHints mode
<c-a>
was not treated asa
- Firefox: FindMode now wraps around, like the behavior of Chrome
- FindMode history now limits query words as one line and not more than 99 characters on saving by Enter
- some other bug fixes
1.76.5:
- fix a bug in the popup page (#64)
- extension allow list: allow Vimium C's helpers by default
1.76.4:
- fix that Alt+Shift+F was not translated into <a-s-f> when CapsLock is on
- Now the feature of overriding browser newtab settings is deprecated
- add an option to ignore keyboard layout (fix #39 completely)
- Most of its logic is the same as philc/vimium:lib/keyboard_utils.coffee:21
- add an option to ignore CapsLock status, which is useful on macOS if using CapsLock to switch IMEs
- most backend commands are allowed for user-customized shortcuts (#55)
removeTab
: add an option "highlighted" to remove those tabs (#58)- LinkHints: auto enable modal UI when needed (<a-f2> to toggle it)
- Vomnibar: add some text-handling shortcuts on Firefox (#59)
- Vomnibar: disable tab tree mode by default, unless there's an option "
tree=true
" (#60) - fix some other edge cases
1.76.3:
- Chrome: fix that Vomnibar can not show favicons
1.76.2:
- fix a regression "Custom CSS" could not work on Vomnibar (#57)
- add a new feature to support user-customized shortcuts (#55 (comment))
- add 4 shortcuts, and 2 items are to go in a tab's history list, and the other 2 are for user to customize
- support
vimium://status toggle ["^" ...hooked-keys]
to switch between "enabled" mode and "exclusion-matched" mode- for example,
map <a-s-v> openUrl url="vimium://status\u0020toggle\u0020^\u0020<a-s-v>"
will make<a-s-v>
a shortcut to enable Vimium C or disable Vimium C (almost) completely - if you have configured global shortcuts, then
shortcut userCustomized1 command="openUrl" url="vimium://status\u0020toggle\u0020^\u0020<a-s-v>"
will make the shortcut a convenient switch button of Vimium C's working status
- for example,
goBack
now tries its best to simulate the feature of "duplicate-and-go-back" on older versions of Chrome (before 72)- the behavior of
removeTab goto=previous
is changed, and the new logic is simpler and easier to use - now mapped
<esc>
and<escape>
keys work the same as native<esc>
keys - LinkHints: now
<c-f2>
will hint all elements with non-null "onclick" properties - Firefox: now can show a confirmation dialog if a command count is too large
- fix a bug of parsing failures if a line in key mapping rules ends with the \ character
1.76.1 for Firefox:
- fix broken FindMode
1.76:
- add a new command
closeDownloadBar
to close Chrome's download bar at the bottom mapKey
: now apply mappings for lower-case characters to every keys including it- for example, if
mapKey f g
, then<c-f>
will be translated into<c-g>
- also work in LinkHints mode (#39 (comment)),
unless there's an option of
mapKey=false
- so if your IME is not English, you may map alphabets to the English versions (in Vimium C) using a list of
mapKey
- for example, if
- LinkHints: now always search shadow DOMs and the related boolean option is useless and removed
- LinkHints: if press Ctrl in "text"/"url" modes, then it will copy multiple lines to the clipboard
- Vomnibar supports a new mode "
bomni
" in which bookmarks' priority is higher (#50) - Vomnibar now shows a "tab tree" when in "current window tabs" mode
- now it can sync much longer (bigger than 8KB) key mapping list and search engines through the browser syncing service
- all the synced data is still limited under 100KB
- in case you clean all browsing data, now it can recover most settings (at most 5MB) even if syncing is off
- now LinkHints and Vomnibar are faster
- partly work around a bug of Chrome 70+, which affects command
toggleCS
- if the confirmation dialog is forbidden by mistake, then now a too large count will be treated as 1
- the old behavior was to do nothing, which is somehow inconvenient
- the dialog works again if you reload this extension, or just restart Chrome
- Firefox: fix a potential vulnerability in v1.75.7 and v1.75.8
- update some notes in PRIVACY POLICY about which permissions may be removed safely
1.75.8 (only released on Firefox):
- LinkHints: smarter hinting and now
<video>
and<audio>
are clickable - on Google Docs, now can press
<esc>
for a while to move focus from document content to the window removeTab
command now supports an option ofgoto=""/left/right/previous
- click listener watcher: fix a vulnerability in v1.75.7
- the options page won't be dark if the option "auto-dark-mode" is unchecked
- Firefox: the options page now shows a tip if the value of New tab URL has a mistake
1.75.7:
- LinkHints: add some new rules to exclude useless hints for container nodes
- much smarter on Google search result pages
- a global dark mode for Chrome 76+ and Firefox 67+ is now enabled by default
- include new styles for hint markers, HUD, options page and the help dialog
- Scroller: fix it might scroll too far in some cases (for example, a long page is loading) (#45)
- Scroller: fix a bug of losing current active elements after switching scrolling directions
- Firefox: fix broken FindMode (#48) and some other issues on pages with multiple iframes
- Firefox: fix LinkHints may cause scrollbars to show in some cases
- Firefox: now both auto-dark-mode and auto-reduce-motion can response to system setting changes
- goNext: stricter: not match long text
1.75.6:
- fix that Vomnibar can not acquire focus on the first activation on a new page since Chrome 75
- fix
mapKey
could not map a key of printable characters to<esc>
(only fixed in the Firefox version) - Firefox: fix LinkHints can not exit itself when clicking an
<iframe>
goBack
command supports an optionreuse
=-2
/-1
to open a previous URL in the tab history in a new tab- just like you Ctrl+Click / Ctrl+Shift+Click the browser's "Back" button
- this feature can only work since Chrome 72, and currently not on Firefox
1.75.5:
- support
prefers-reduced-motion
andprefers-color-scheme
media queries- be able to auto disable animation and enter dark mode when some options are enabled
- enable the option "Auto reduce UI motions following your system settings" by default
- LinkHints: add a new option
mapKey
to translated typed keys to match marker text- use a subset of translation rules of
Custom key mappings
- require both sources and targets are single characters (can not map keys like
<a-d>
)
- use a subset of translation rules of
- LinkHints: by default, detect and use touch mode automatically since Chrome 48
- Vomnibar has a default style named
mono-url
. Remove it to switch monospace fonts for suggestion URLs - fix that LinkHints and Vomnibar might fail to switch to other tabs
- fix more issues about
passNextKey
discardTab
only discards those auto-discardable tabs which are marked by the browser if count is greater than 1- vimium://show : upgrade the embed Viewer.js
- Firefox: fix that help dialog may fail to show in rare cases
1.75.2:
- use new icons
- exclusion: make passKeys take precedence over mappedKeys
- now
mapKey
can map any key to<esc>
and map<esc>
and<c-[>
to others - LinkHints/Scroller/Vomnibar: activate on a parent frame if needed
- FindMode: auto fill/search with selected text by default
- a new option
selected=false
can prevent this behavior
- a new option
- fix some bugs of
passNextKey
- fix some rare edge cases on malformed webpages