Vim-like keyboard interface
-
Here's a list of all of Vimium's available commands in v1.66, with a keyboard shortcut for the ones I actually have mapped. Note some commands Vimium supports are not currently mapped to any shortcut, like
scrollToBottom
which I've unmapped because I can already put it in Vivaldi instead. -
@ukanuk Ok, that’s perfect, I think you just volunteered to keep an updated list ^^
Some additions:
-
While arrow keys already work for scrolling, they only start scrolling after a delay, which is unacceptable for day to day use. I think setting the scroll by pixel is fine—Vimium’s scroll works well enough, therefore I think it shouldn’t matter much, if it’s pixel or lines, it just needs to be smooth.
-
The vomnibar can be fully substituted by Vivaldi’s own excellent quick commands, but it could need some improvement. We should be able to navigate results with non‐arrow keys. We should have the ability to restrict the search to bookmarks, history, commands, notes and tabs (hope I didn’t forget something). We can already search different search engines with a preceding nickname, it would be really neat, if we had the ability to set additional nicknames for all the possibilities listed.
-
Setting one key shortcuts in Vivaldi makes the Vimium search unusable, since the shortcuts will trigger when you type. Using Vivaldi’s search instead is the goal anyway. Currently the problem is that a given search can’t be confirmed by pressing <enter>. This means shortcuts to navigate the results that don’t use a modifier key will make you continue to type in the search field, instead of jumping from result to result.
-
Visual/Caret mode is missing for selecting text. Shortcuts for copying and pasting text can’t be set in Vivaldi. I believe it just uses operating system defaults.
-
Insert mode for ignoring commands.
-
Setting local/global marks isn’t implemented. Would be a nice extra.
-
Shortcut for focusing the first visible text input.
-
Shortcut for passing next key directly to page.
-
Exception list.
-
Some way to disable all shortcuts a site might have set individually? Currently not even possible with Vimium.
That’s all I can currently come up with concerning the handling of websites, we would need bigger changes yet to navigate the UI in a vim like way.
-
-
That’s the only commands I’m currently using, everything else is handled by Vivaldi (more or less).
-
@luetage said in Vim-like keyboard interface:
- While arrow keys already work for scrolling, they only start scrolling after a delay, which is unacceptable for day to day use.
I have no scroll delay when using either Vivaldi's arrow keys or Vimiums
j
k
. In any case that sounds like a bug report, not a feature request.- The vomnibar can be fully substituted by Vivaldi’s own excellent quick commands, but it could need some improvement. We should be able to navigate results with non‐arrow keys. We should have the ability to restrict the search to bookmarks, history, commands, notes and tabs (hope I didn’t forget something). We can already search different search engines with a preceding nickname, it would be really neat, if we had the ability to set additional nicknames for all the possibilities listed.
See three existing requests Enable Custom Key Navigation for Quick Command Menu, More "internal" search engines, and Nicknamed search engines for Vivaldi features (browser history, open tabs, etc). Adding to my list above...
- Setting one key shortcuts in Vivaldi makes the Vimium search unusable, since the shortcuts will trigger when you type. Using Vivaldi’s search instead is the goal anyway. Currently the problem is that a given search can’t be confirmed by pressing <enter>. This means shortcuts to navigate the results that don’t use a modifier key will make you continue to type in the search field, instead of jumping from result to result.
You can already confirm a result with
Esc
and use single-key shortcuts for Find Next in Page and Find Previous in Page. Only annoying part is that this causes the Search box to reappear, needing anEsc
to closing it again. A setting for this behavior is already requested in Find Next/Previous Without Showing Toolbar.- Shortcuts for copying and pasting text can’t be set in Vivaldi.
Vivaldi already has a Paste and Go keyboard shortcut which you can map to
p
. Adding copy and paste-and-go-in-new-tab shortcuts to my list above...- Insert mode for ignoring commands.
There is already a keyboard shortcut for disabling keyboard shortcuts. It's actually a toggle, so it will re-enable keyboard shortcuts as well. Vimium does enable/disable with
i
/Esc
, whereas Vivaldi usesi
/i
. You could request separate keyboard shortcuts for enabling, disabling, and toggling keyboard shortcuts. But to mapEsc
to re-enable keyboard shortcuts in addition to stopping page loading, the previously-mentioned Concatenate Commands feature request needs implementing.
- Setting local/global marks isn’t implemented. Would be a nice extra.
For global marks, just enable the Vivaldi setting Open on Nickname Match, create a bookmark with a nickname, then type the nickname into Quick Commands. For local marks, maybe a feature request for bookmarks that save current page position would work? I don't use them, so not sure what you want out of them.
- Shortcut for focusing the first visible text input.
Isn't this only useful with an option to prevent pages from focusing an input on load (e.g. Google, Bing, etc.)? In Vimium this option is named Don't let pages steal the focus on load.
- Shortcut for passing next key directly to page.
Can you explain an example use-case? I don't use this in Vimium and have no idea what it would look like in a generalized browser implementation.
- Exception list.
- Some way to disable all shortcuts a site might have set individually? Currently not even possible with Vimium.
See feature requests option to disable keyboard shortcut per webpage and Ctrl+Tab doesn't work. Adding to my list above...
- Visual/Caret mode is missing for selecting text.
It would be useful, but is a big feature requiring a ton of additional keystrokes and patterns, documented at https://github.com/philc/vimium/wiki/Visual-Mode. I'm not sure Vivaldi devs could effectively maintain code for this unless someone on their team actively uses it. Thus I'm adding it to my list above, but noting it's low priority.
That’s all I can currently come up with concerning the handling of websites, we would need bigger changes yet to navigate the UI in a vim like way.
What UI navigation would you want that doesn't come via Quick Commands or a keyboard shortcut? Vim has no UI to navigate, and ideally Vivaldi doesn't need a UI to navigate either.
-
Hmm.
The delay on scrolling with arrow keys isn’t a bug, it comes from the delay in key‐repeat settings directly from the operating system. Maybe you have no delay set. The difference to the Vimium implementation is that Vivaldi executes a scroll on first keydown event and then waits for another input, which will only happen after the set delay. Vimium on the other hand seems to scroll as long as the keydown event isn’t being cancelled by a keyup event, which works even with key‐repeat being disabled.About the search, <esc> cancels the search and hides it. The only reason the single key shortcut works then is because the next or previous shortcut will always bring up the search field. So using <esc> for this purpose doesn’t make sense. It already works by using the inbuilt <enter> and <shift-enter> to go through search results, but I think it would be easier to just allow any key. Confirming a search is cleaner than exiting it imo ^^
I’m only interested in local marks, allows you to quickly jump between one part of a long text to another, or yet another. It’s pretty versatile. It’s basically a more useful tabscroll.
- Shortcut for focusing the first visible text input.
Isn't this only useful with an option to prevent pages from focusing an input on load (e.g. Google, Bing, etc.)? In Vimium this option is named Don't let pages steal the focus on load.
Say you haven’t focused an input on a page, how do you select it for input? You press
f
and then whatever combination of keys is presented to you. Just pressinggi
is faster and I use it rather often. It has nothing to do with stealing focus on load and it’s calledfocusInput
in Vimium.- Shortcut for passing next key directly to page.
Can you explain an example use-case? I don't use this in Vimium and have no idea what it would look like in a generalized browser implementation.
The most basic example is triggering fullscreen on a video with
f
. Passes the key to webpage without triggering the link command.- Some way to disable all shortcuts a site might have set individually? Currently not even possible with Vimium.
See feature requests option to disable keyboard shortcut per webpage and Ctrl+Tab doesn't work. Adding to my list above...
We have a misunderstanding here. I’m talking about sites that have single key shortcuts set up, like Discord or Github. They cancel shortcuts keys that should normally trigger Vimium functions or even shortcuts setup by Vivaldi. It would be extremely useful, if Vivaldi could deny passing key events to a page when no input field is in focus.
What UI navigation would you want that doesn't come via Quick Commands or a keyboard shortcut? Vim has no UI to navigate, and ideally Vivaldi doesn't need a UI to navigate either.
First of all there aren’t commands present for all of Vivaldi’s functions, but more importantly you might want to navigate the UI, say to scroll through and edit/clean up your bookmarks with keyboard alone. Or just editing or creating a note. You can open the sidebar and go through the different panels with existing shortcuts, but there’s no good way to navigate within the panels. Same goes for managing your settings, or accessing your extensions when they are contracted but enabled. It’s meant to be done with mouse at present.
-
@luetage said in Vim-like keyboard interface:
The delay on scrolling with arrow keys isn’t a bug, it comes from the delay in key‐repeat settings directly from the operating system. Maybe you have no delay set. The difference to the Vimium implementation is that Vivaldi executes a scroll on first keydown event and then waits for another input, which will only happen after the set delay. Vimium on the other hand seems to scroll as long as the keydown event isn’t being cancelled by a keyup event, which works even with key‐repeat being disabled.
Ah, I see now what you're saying. And I have the same behavior. I just never noticed because I don't usually hold the key down.
About the search, <esc> cancels the search and hides it.... Confirming a search is cleaner than exiting it imo ^^
Vimium search operates by typing search term and hitting
Enter
which hides the search pane, and then next/previous results are obtained withn
/N
with the search pane hidden. CurrentlyEsc
in Vivaldi does exactly the same asEnter
in Vimium, since it hides the search pane and highlights the first search result. All that needs to change is for next/previous results to be obtainable withn
/N
.I’m only interested in local marks, allows you to quickly jump between one part of a long text to another, or yet another. It’s pretty versatile. It’s basically a more useful tabscroll.
Adding to my list above, but noting it's an advanced feature...
- Shortcut for focusing the first visible text input.
Isn't this only useful with an option to prevent pages from focusing an input on load (e.g. Google, Bing, etc.)? In Vimium this option is named Don't let pages steal the focus on load.
Say you haven’t focused an input on a page, how do you select it for input? You press
f
and then whatever combination of keys is presented to you. Just pressinggi
is faster and I use it rather often. It has nothing to do with stealing focus on load and it’s calledfocusInput
in Vimium.Adding to my list above, but noting it's an advanced feature...
- Shortcut for passing next key directly to page.
The most basic example is triggering fullscreen on a video withf
. Passes the key to webpage without triggering the link command.
Maybe the easiest way Vivaldi devs could implement this would be a new command named One-Time Disable Keyboard Shortcuts or more simply Ignore Next Keyboard Shortcut, which would be available right next to the existing Disable Keyboard Shortcuts command. Adding to my list above...
- What UI navigation would you want that doesn't come via Quick Commands or a keyboard shortcut? Vim has no UI to navigate, and ideally Vivaldi doesn't need a UI to navigate either.
First of all there aren’t commands present for all of Vivaldi’s functions, but more importantly you might want to navigate the UI, say to scroll through and edit/clean up your bookmarks with keyboard alone. Or just editing or creating a note. You can open the sidebar and go through the different panels with existing shortcuts, but there’s no good way to navigate within the panels. Same goes for managing your settings, or accessing your extensions when they are contracted but enabled. It’s meant to be done with mouse at present.
Adding to my list above...
- Some way to disable all shortcuts a site might have set individually? Currently not even possible with Vimium.
We have a misunderstanding here. I’m talking about sites that have single key shortcuts set up, like Discord or Github. They cancel shortcuts keys that should normally trigger Vimium functions or even shortcuts setup by Vivaldi. It would be extremely useful, if Vivaldi could deny passing key events to a page when no input field is in focus.
Regardless, shouldn't the discussion be in the threads I linked? I suggest adding your comments and upvotes to all the individual feature requests I linked, as they demonstrate broader interest for those features than just vimium users and imo are thus more likely to be noticed and implemented.
FYI, realistically I don't see Vivaldi devs ever implementing the advanced features unless one happens to start using them in Vimium and realizes the limitations due to being an extension rather than built-in. I've thus tried to separate between easily understood functionality and advanced features.
-
@ukanuk vimium perhaps?
-
@ch3f We think it would be better not to use an extensions. Moreover the browser UI itself should present the possibility to solely navigate with keyboard shortcuts and these shortcuts would ideally be freely set. At the moment we are bound to use the mouse and the keys for navigation shortcuts are tab, shift and arrow keys, which is awkward.
-
Please add a vote from each of my ten fingers in favor of built-in, Vim-like functionality.
I've been using cVim for a long time (can't remember why I chose it over Vimium), and there's very little to complain about, but I'd rather not use an extension.
-
@benjephunneh This isn’t even a feature request. I’m afraid we will have to implement this ourselves. I think it’s possible, but a lot of work.
-
Ppafflick moved this topic from Desktop on