Skip to content

Commit e9a75a5

Browse files
author
=
committed
Merge branch 'master' into highlight-scroll-hints
2 parents f4a9297 + 4c35085 commit e9a75a5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1520
-949
lines changed

CHANGELOG.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,23 @@
1-
2.3 (unreleased)
1+
2.3 (2025-06-30)
22

3+
- Add a command listing page, which documents all commands and their options. Access it
4+
[on the web](https://vimium.github.io/commands/), or from the Vimium Options page > Show available
5+
commands.
36
- Some internal CSS classes were changed for Vimium's UI. This may affect those who have customized
4-
Vimium's CSS via the options page. [#4668](https://github.com/philc/vimium/issues/4668).
7+
Vimium's CSS via the options page. (https://github.com/philc/vimium/issues/4668)
8+
- Breaking change: when creating a mapping for `setZoom`, a `level` argument is now required.
9+
E.g.: `map z2 setZoom level=2.0`.
10+
- Make `Vomnibar.activateBookmark` accept a `query` option.
11+
(https://github.com/philc/vimium/pull/4591)
12+
- Fix `openCopiedUrlInCurrentTab` doesn't launch search queries.
13+
(https://github.com/philc/vimium/issues/4657)
14+
- Make `openCopiedUrlInCurrentTab` accept a `position` option.
15+
- Update `goPrevious` and `goNext` commands to handle google.com's new layout.
16+
(https://github.com/philc/vimium/issues/4650)
17+
- Add a "hide update notifications" option for silencing "Vimium has been updated" notifications.
18+
(https://github.com/philc/vimium/issues/4346)
19+
- Use dark mode styles in the HUD when the browser is in dark mode.
20+
- Bug fixes.
521

622
2.2.1 (2025-03-20)
723

README.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
Vimium is a browser extension that provides keyboard-based navigation and control of the web in the
44
spirit of the Vim editor.
55

6+
[Watch the demo video](https://www.youtube.com/watch?v=t67Sn0RGK54).
7+
68
**Installation instructions:**
79

810
- Chrome:
9-
[Chrome web store](https://chrome.google.com/extensions/detail/dbepggeogbaibhgnhhndojpepiihcmeb)
11+
[Chrome web store](https://chromewebstore.google.com/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb)
1012
- Edge:
1113
[Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/vimium/djmieaghokpkpjfbpelnlkfgfjapaopa)
1214
- Firefox: [Firefox Add-ons](https://addons.mozilla.org/en-GB/firefox/addon/vimium-ff/)
@@ -110,31 +112,32 @@ Vimium supports command repetition so, for example, hitting `5t` will open 5 tab
110112
succession. `<Esc>` (or `<c-[>`) will clear any partial commands in the queue and will also exit
111113
insert and find modes.
112114

113-
There are some advanced commands which aren't documented here; refer to the help dialog (type `?`)
114-
for a full list.
115+
There are additional commands which aren't included in this README; refer to the help dialog (type `?`) for a
116+
full list.
115117

116118
## Custom Key Mappings
117119

118120
You may remap or unmap any of the default key bindings in the "Custom key mappings" on the options
119121
page.
120122

121-
Enter one of the following key mapping commands per line:
123+
Enter one of the following key mapping statements per line:
122124

123-
- `map key command`: Maps a key to a Vimium command. Overrides Chrome's default behavior (if any).
125+
- `map key command`: Maps a key to a Vimium command. Overrides Chrome's default behavior for that
126+
key, if any.
124127
- `unmap key`: Unmaps a key and restores Chrome's default behavior (if any).
125128
- `unmapAll`: Unmaps all bindings. This is useful if you want to completely wipe Vimium's defaults
126129
and start from scratch with your own setup.
127130

128131
Examples:
129132

130133
- `map <c-d> scrollPageDown` maps ctrl+d to scrolling the page down. Chrome's default behavior of
131-
bringing up a bookmark dialog is suppressed.
132-
- `map r reload` maps the r key to reloading the page.
134+
showing a bookmark dialog is suppressed.
135+
- `map r reload hard` maps the r key to reloading the page, and also includes the "hard"
136+
option to hard-reload the page.
133137
- `unmap <c-d>` removes any mapping for ctrl+d and restores Chrome's default behavior.
134138
- `unmap r` removes any mapping for the r key.
135139

136-
Available Vimium commands can be found via the "Show available commands" link near the key mapping
137-
box on the options page. The command name appears to the right of the description in parenthesis.
140+
See the [docs](https://vimium.github.io/commands/) for every Vimium command and its options.
138141

139142
You can add comments to key mappings by starting a line with `"` or `#`.
140143

@@ -153,9 +156,10 @@ keyboard.
153156

154157
## More documentation
155158

156-
Many of the more advanced or involved features are documented on
157-
[Vimium's GitHub wiki](https://github.com/philc/vimium/wiki). Also see the
158-
[FAQ](https://github.com/philc/vimium/wiki/FAQ).
159+
* [FAQ](https://github.com/philc/vimium/wiki/FAQ)
160+
* [Command listing](https://vimium.github.io/commands/)
161+
* [Vimium's GitHub wiki](https://github.com/philc/vimium/wiki): documentation the more advanced
162+
features.
159163

160164
## Contributing
161165

background_scripts/all_commands.js

Lines changed: 55 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// - advanced: advanced commands are not shown in the help dialog by default.
55
// - background: whether this command has to be run by the background page.
66
// - desc: shown in the help dialog and command listing page.
7+
// - details: extra help information that will only be shown on the command listing page.
78
// - group: commands are displayed in groups in the help dialog and command listing.
89
// - noRepeat: whether this command can be used with a count key prefix.
910
// - repeatLimit: the number of allowed repetitions of this command before the user is prompted for
@@ -118,6 +119,10 @@ const allCommands = [
118119
desc: "Open the clipboard's URL in a new tab",
119120
group: "navigation",
120121
noRepeat: true,
122+
options: {
123+
position: "Where to place the tab in the tab bar. " +
124+
"One of `start`, `before`, `after`, `end`. `after` is the default.",
125+
},
121126
},
122127

123128
{
@@ -159,6 +164,9 @@ const allCommands = [
159164
{
160165
name: "passNextKey",
161166
desc: "Pass the next key to the page",
167+
options: {
168+
normal: "Optional. Enter Vimium's normal mode, and ignore any defined pass keys.",
169+
},
162170
group: "navigation",
163171
advanced: true,
164172
},
@@ -173,9 +181,8 @@ const allCommands = [
173181
name: "LinkHints.activateMode",
174182
desc: "Open a link in the current tab",
175183
options: {
176-
action: "<code>action</code>: one of <code>hover</code>, <code>focus</code>, " +
177-
"<code>copy-text</code>. When a link is selected, instead of clicking on the link, " +
178-
"perform the specified action.",
184+
action: "one of `hover`, `focus`, `copy-text`. When a link is selected, " +
185+
"instead of clicking on the link, perform the specified action.",
179186
},
180187
group: "navigation",
181188
advanced: true,
@@ -256,14 +263,27 @@ const allCommands = [
256263
{
257264
name: "Marks.activateCreateMode",
258265
desc: "Create a new mark",
266+
details: "Do this by typing the key bound to this command, and then a letter. " +
267+
"This will set a mark bound to that letter. Lowercase letters are local marks and uppercase " +
268+
"letters are global marks.",
269+
options: {
270+
swap: "Swap global and local marks. This option exists because in a browser, global marks " +
271+
"are generally more useful than local marks, and so it may be desirable to make lowercase " +
272+
"letters represent global marks rather than local marks.",
273+
},
259274
group: "navigation",
260275
advanced: true,
261276
noRepeat: true,
262277
},
263278

264279
{
265280
name: "Marks.activateGotoMode",
266-
desc: "go to a mark",
281+
desc: "Jump to a mark",
282+
options: {
283+
swap: "Swap global and local marks. This option exists because in a browser, global marks " +
284+
"are generally more useful than local marks, and so it may be desirable to make lowercase " +
285+
"letters represent global marks rather than local marks.",
286+
},
267287
group: "navigation",
268288
advanced: true,
269289
noRepeat: true,
@@ -276,6 +296,11 @@ const allCommands = [
276296
{
277297
name: "Vomnibar.activate",
278298
desc: "Open URL, bookmark or history entry",
299+
options: {
300+
query: "The text to prefill the Vomnibar with.",
301+
keyword: 'The keyword of a search engine defined in the "Custom search engines" ' +
302+
"section of the Vimium Options page. The Vomnibar will be scoped to use that search engine.",
303+
},
279304
group: "vomnibar",
280305
topFrame: true,
281306
},
@@ -284,20 +309,31 @@ const allCommands = [
284309
name: "Vomnibar.activateInNewTab",
285310
desc: "Open URL, bookmark or history entry in a new tab",
286311
group: "vomnibar",
312+
options: {
313+
query: "The text to prefill the Vomnibar with.",
314+
keyword: 'The keyword of a search engine defined in the "Custom search engines" ' +
315+
"section of the Vimium Options page. The Vomnibar will be scoped to use that search engine.",
316+
},
287317
topFrame: true,
288318
},
289319

290320
{
291321
name: "Vomnibar.activateBookmarks",
292322
desc: "Open a bookmark",
293323
group: "vomnibar",
324+
options: {
325+
query: "The text to prefill the Vomnibar with.",
326+
},
294327
topFrame: true,
295328
},
296329

297330
{
298331
name: "Vomnibar.activateBookmarksInNewTab",
299332
desc: "Open a bookmark in a new tab",
300333
group: "vomnibar",
334+
options: {
335+
query: "The text to prefill the Vomnibar with.",
336+
},
301337
topFrame: true,
302338
},
303339

@@ -382,6 +418,14 @@ const allCommands = [
382418
{
383419
name: "createTab",
384420
desc: "Create new tab",
421+
options: {
422+
"(any url)": "Open this URL, rather than the browser's new tab page. " +
423+
"E.g.: `map X createTab https://example.com`",
424+
window: "Create the tab in a new window",
425+
incognito: "Create the tab in an incognito window",
426+
position: "Where to place the tab in the tab bar. " +
427+
"One of `start`, `before`, `after`, `end`. `after` is the default.",
428+
},
385429
group: "tabs",
386430
background: true,
387431
repeatLimit: 20,
@@ -440,6 +484,10 @@ const allCommands = [
440484
{
441485
name: "toggleMuteTab",
442486
desc: "Mute or unmute current tab",
487+
options: {
488+
all: "Mute all tabs.",
489+
other: "Mute every tab except the current one.",
490+
},
443491
group: "tabs",
444492
background: true,
445493
noRepeat: true,
@@ -518,6 +566,9 @@ const allCommands = [
518566
group: "tabs",
519567
advanced: true,
520568
background: true,
569+
options: {
570+
level: "The zoom level. This can be a range of [0.25, 5.0]. 1.0 is the default.",
571+
},
521572
},
522573

523574
{

0 commit comments

Comments
 (0)