12 ms·
Look ma, no mouse: Vimium
- zoltar 6y agoFor the second time this week on here, I feel compelled to recommend https://krabby.netlify.app/ https://krabby.netlify.app/ Ever want to copy all the links in a column of a table to the clipboard? https://www.youtube.com/watch?v=PJXCnRBkHDY https://www.youtube.com/watch?v=PJXCnRBkHDY
- deleted 6y ago[deleted]
- asselinpaul 6y agoanyone know how vimium compares to tridactyl on firefox? [0] https://github.com/tridactyl/tridactyl https://github.com/tridactyl/tridactyl
- berkes 6y agoIf it is anything like Pentadactyl was, the difference is mainly that Vimium changes very little in Firefox. You, your spouse or your co-worker can still open Firefox and use it, as used to. Yet with pentadactyl, everything is gone: the addressbar, back-button, menu's etc. This might be what you are looking for, though. That was one reason for me to ditch Pentadactyl (and also vimperator), and use vimium instead. It allows you to keep using Firefox as normal, gradually sliding into the habit of using the keys.
- bovine3dom 6y agoTridactyl is much less extreme than Pentadactyl, at least out of the box. Probably the "worst" thing we do is override Ctrl-A and Ctrl-F.
- YorickPeterse 6y agoI've tried Tridactyl, Vimium, Saka Keys, Vimium C, and Vim Vixen. Of these, I found Vimium C to work the best and have the least overhead. Tridactyl added a consistent overhead of around 100 milliseconds when loading page, while Vimium and Vimum C added only about 20 ms of overhead. In terms of features, I think Tridactyl is the most feature complete, but I found Vimium C to be more enjoyable to use. For example, Vimium C seems to produce better hints (e.g. fewer cases of hints for something you can't click on), when compared to Tridactyl. I also prefer Vimium C's "Vomnibar" over the Tridactyl interface, especially with a bit of tweaking to the theme.
- bovine3dom 6y agoFWIW - mostly for other interested readers - in Tridactyl we made hints which might be useless grey recently. They correspond to JavaScript events and are sometimes the only way to click a button. If you want Vimium-style behaviour where these elements are not hinted you can just do `:bind f hint -J`. We also have a Vimium-style theme which you can access with `:colours shydactyl`. The theme could do with some polishing if anyone's interested.
- hsbauauvhabzb 6y agoI’m curious about your first paragraph but I don’t understand it, can you rephrase? DOM elements which trigger JS event on click which are not identified by shortcut tools has always annoyed me, us much that I even tried to fix it myself so I’m very interested if tridactyl has
- bovine3dom 6y agoDisclaimer: I didn't write this code. This runs at page load - https://github.com/tridactyl/tridactyl/blob/5e8f94ff06bd5f143732f2dabd32b08dabf1e65a/src/content.ts#L194 https://github.com/tridactyl/tridactyl/blob/5e8f94ff06bd5f14.... If you keep pulling that thread you'll find we use it to populate an array of elements with interesting event listeners on them. We can then put hints on those elements. We simply fire fake mouse events on those elements if they are chosen. The code could definitely be improved - a major annoyance to me is that the JavaScript hints ignore CSS selectors.
- jyoshi 6y agoI've been using vi-like shortcut plugins (vimperator, pentadactyl, vimium, vim vixen and many others, currently using tridactyl) for quite a few years now, and its never been quite the smooth experience I hoped for. Not even talking about interfaces where you'd expect to need to use mouse (javascript components and others), but there is always the page in which the shortcuts will fail, or some input which will be blocked because the plugin is fighting the webpage for focus. Its pretty much what the article says at the conclusion, it helps reducing, but I still view it as a hassle. Browsers developed with vi-like modes built-in (vimprobable, vimb, qutebrowser) fared better for me, but then there's other issues like incompatibility or lack of plugins which keeps me from fully using them.
- vladvasiliu 6y ago> Browsers developed with vi-like modes built-in (vimprobable, vimb, qutebrowser) fared better for me, but then there's other issues like incompatibility or lack of plugins which keeps me from fully using them. I've had this issue too with qutebrowser. I'm not very familiar with how these things work, but I wonder why plugins written for a given engine (say webkit) wouldn't work on all browsers using that engine. In the case of qutebrowser it uses chromium under the hood, so I would expect extensions that work on chromium to work on qutebrowser, just as most chromium limitations also apply to qutebrowser.
- The-Compiler 6y agoExtensions are tied to the browser pretty tightly (think UI, bookmarks, open tabs access, etc. etc.), while QtWebEngine (which qutebrowser uses) uses a more low-level part of Chromium which only shows a single tab (the so called "content API").
- rideontime 6y agoPro tip: Set your hint characters to keys you can hit with your off-mouse hand. (e.g., being a right-handed qwerty user, mine are asdqwerzxcvtgb) Now you can keep one hand on the keyboard, the other on your mouse (or coffee, or whatever).
- deleted 6y ago[deleted]
- preommr 6y agoI absolutely love vimium. Such a great tool. [Vimium + i3 + vim + vscode/vmplugin] Means that I rarely have to reach for the mouse, have a tonne of desktop real estate that's easy to navigate and is way more comfortable. Just having search, simple navigation and the 'f-feature' in vimium is enough for like 99% of my use cases. It's such a pleasant and seamless experience to code in the editor, hop on over to the terminal to do w/e, skip on over to the browser to look something up, and go back to code. The muscle memory just takes over. Not to mention all the other benefits like having to track down small icons, sometimes changing window state (e.g. unmaximize, moving things around), and how much more effort using a mouse is over 2-3 keystrokes.
- aszen 6y agoI use the exact same setup. Although I switched to only this year after spending time revisiting my workflow. Its indeed quite a bit faster for doing serious work although when I'm just browsing casually I do use the mouse just to give my fingers a rest.
- paulintrognon 6y agoWhat do you mean by "vmplugin" ?
- RMPR 6y agoNot OP but they are probably talking about the vscode extension that provides Vim keybindings https://github.com/VSCodeVim/Vim https://github.com/VSCodeVim/Vim
- germ 6y agoMy setup is pretty close to yours, I've found this tool to be absolutely invaluable as an alternative to digging through menus :) https://github.com/Zren/plasma-hud https://github.com/Zren/plasma-hud
- hestefisk 6y agoHow do you copy / paste text in that setup? Often I need to copy text from browser and paste into vim.
- hs86 6y agoI showed this once to a non-techie friend, and they were excited to use it. My little demo covered the difference between F and Shift+F to show how it is case sensitive, and I navigated through multiple pages without using a mouse. I assured them that they don't need to learn all of its commands, and they can open a cheat sheet on any page just by typing a question mark. This non-disruptive introduction into Vimium made me think about my old Firefox setup. Back in the XUL days, I was hoarding dozens of add-ons that altered the Firefox UI to the extent that others could not use my browser anymore. They would click on a link and wonder why it is not working while my browser would amass many new tabs at a customized, designated place. The browser worked as I intended, but the extent of my customizations made it unusable for regular Firefox users. Therefore I think that these new, more limited extension APIs offer an overall better experience for end-users. Maintaining usability for "regular users" should be the upper bound for the amount of customization an extension API provides. If it goes beyond that, it seems to get out of control.
- stevenhuang 6y agoI don't agree. Regular users simply won't know to install those plugins in the first place. Leave the advanced APIs in for those that seek it. Security and maintenance concerns aside, of course.
- tao_oat 6y agoI love the idea of Vim shortcuts in the browser, but I'm becoming increasingly uncomfortable with the permissions these extensions require. I get why it's necessary for them to work, but giving access to all history/tabs/browser data feels a bit intense.
- pacamara619 6y agoWhich is one of the many reasons why people should seriously consider using only free software.
- WorldMaker 6y agoAt least current browsers now show/ask for such permissions individually. You probably don't want to know how many permissions things like old XUL/XPCOM extensions would have required had they been forced to ask the user for them individually.
- tjchear 6y agoAlong the same vein, I made a vi-like editor for editing webpages - not to minimize mouse usage, but to increase productivity with tons of shortcut keys and commands. https://vivpage.com/ https://vivpage.com/
- GrantZvolsky 6y agoI used vimium before switching to Surfingkeys for its editor. Turning any text input into a vim box is one of these features that you can't do without once you're used to their convenience. Note that these extensions have access to all your data on the sites you visit, and while you may trust their developers, a dependency might go rogue without anyone noticing.
- krmbzds 6y agoI settled with Surfingkeys after I tried Vimium, Vimium C, Pentadactyl and Vimperator. Here's my Surfingkeys configuration as an ex-Vimium user: map('F', 'gf'); Hints.characters = "asdgqwertzxcvb"; It makes open in new tab behave like Vimium and f work like a toggle. Hope this helps someone looking for a better option migrating from Vimium. [0] https://github.com/brookhong/Surfingkeys https://github.com/brookhong/Surfingkeys
- Sodman 6y agoI love vimum, use it myself, but my biggest gripe with it (also half-addressed in the article) is that sites with good power-user focused keyboard shortcuts built-in are almost always going to beat a generic plugin like vimium. So you're left with choosing one of two compromise options: 1) Ignore the nice app-native keyboard shortcuts and just use vimium everywhere (Frustrating when single-key shortcuts in the app are multiple drop-down menu clicks with vimium) 2) Disable Vimium on shortcut-rich apps, but deal with the inconsistencies. (Eg clicking on the link in the body of an e-mail in gmail now needs a mouse again) I really wish vimium had some kind of modifier for "send next key to website", so I could have my cake and eat it too.
- wcoenen 6y ago> I really wish vimium had some kind of modifier for "send next key to website", so I could have my cake and eat it too. I thought that was what "insert mode" was used for. Hit i to go into insert mode, ESC to get out.
- Sodman 6y agoAs a daily vim (editor) user, I had no idea that's what insert mode did in this context! I had never used it in vimium before. Thank you!!!
- _ikke_ 6y agoYes, exactly. It also allows you to specify keys that it should ignore per site (so that the webapp always receive them), or even completely disable vimium for a site (or just specific pages on a site). By default, it's not active on gmail for example.
- bovine3dom 6y ago> I really wish vimium had some kind of modifier for "send next key to website", so I could have my cake and eat it too. Tridactyl has this, bound to ctrl-v by default. Implementation is here [1] if anyone wants to try to add it to Vimium. [1]: https://github.com/tridactyl/tridactyl/blob/5e8f94ff06bd5f143732f2dabd32b08dabf1e65a/src/parsers/nmode.ts#L1 https://github.com/tridactyl/tridactyl/blob/5e8f94ff06bd5f14...
- floitsch 6y agoI wrote a Chrome extension with a similar purpose. https://chrome.google.com/webstore/detail/ctrl-access/glmoehiilkjpgcimmfodllkkhpeikomb?hl=en https://chrome.google.com/webstore/detail/ctrl-access/glmoeh... The idea was copied from Konqueror.
- rolandog 6y agoNice! I loved using Konqueror back when I used Kubuntu. It has a lot of great features that I wish were more commonly available.
- diehunde 6y agoI use a lot of shortcuts when browsing and when I have to switch from MacOS to Linux is always a pain in the ass because they change and is not easy to remap all of them. Maybe trying something like this would alleviate this issue for me.
- jrockway 6y agoI'm glad this was posted. I really liked how they introduced only one feature; that was enough to push me to install and get past "I don't know vim, why would I like this". I can press 'f' and type letters to follow links. No vim-ness. Just a nice feature. (You can press "?" to see more features.) (I used an XUL-based web browser with Emacs keybindings many years ago and loved it. But I had to switch to Chrome, and XUL went away, so I kind of gave up.)
- JoshTriplett 6y ago> I can press 'f' and type letters to follow links. You can get this with standard Firefox, no extension needed. For instance, on the HN main page, hit ' (single-quote) then "vi" then [enter] and you'll follow the link to this article.
- code-faster 6y agoOh that's cool, thanks for the tip
- sbmthakur 6y agoIs this documented anywhere? Search results are only showing plugins that have been discussed here.
- JoshTriplett 6y agohttps://support.mozilla.org/en-US/kb/search-contents-current-page-text-or-links https://support.mozilla.org/en-US/kb/search-contents-current...
- rickyc091 6y agoI'm in love. I was able to navigate to hacker news, use F to click into the comments. Use J to read a bit, then jumped back to the top of the page and used F to highlight the text box to start typing this comment. Pair Programming is about to get a whole lot more interesting.
- jlgaddis 6y agoAt the top of the page, you can hit "gi" to put the text box in focus and start typing your comment.
- stevebmark 6y agoThis is a good reminder that even engineers who think they are analytical and evidence based are subject to dogma. There has never been any study showing that not using your mouse improves coding speed. Use Vim if you want, I do, but don't state it's more efficient at writing code.
- barbs 6y agoThe article is about a browser plugin, it doesn't state anywhere that Vim is more efficient at writing code.
- gitgud 6y agoVimium is actually quiet a stable project since it's creation in 2009. Side note: going back on the git history of the project is a great way to see the code evolve. [1] Originally it started with 2 files, but now has blossomed into a project with 100's of files [1] https://github.com/philc/vimium/commit/aff9db2640db9aa02858d0a98a75919b67cfc61d https://github.com/philc/vimium/commit/aff9db2640db9aa02858d...
- as_keyof_typeof 6y agoHm, I like this a lot. However in regard to RSI, is it more intensive to stay on the keyboard or to frequently use the mouse? Or is it the act of switch from keyboard to mouse that causes injury, and that maybe if you could do everything with the mouse, that could work to?
- djklanac 6y agoIt’s the best extension I’ve installed. I only wish it would permit single hand navigation as a setting (e.g. left hand only with right on mouse all the time)
- nunez 6y agoFriggin' love Vimium. I wish it was easy to install on MobileSafari and its ilk (Firefox, Chrome).
- quickthrower2 6y agoWow, knocked that one out of the park! Love the idea. Once change I'd make: Make pressing f again hide the links. So don't use f or f* as a link anywhere.
- evanb 6y agoWith vim vixen, at least, f shows links, [capital] F hides them, which follows a lot of vim patterns. (esc hides them too.)
- jimsparkman 6y agoI’ve used Vimium in Chrome for years and years now, I couldn’t imagine going without it. It’s such second nature I don’t even think about it.
- auslegung 6y agoDoes anyone know of a way to do this OS-wide, so I don’t have to use my mouse to navigate at all? Either macOS or Ubuntu/pop_os. I know most OSes have built in keyboard shortcuts, but Linux distros are often inconsistent from app to app, and besides I’m looking for something that will let me “click” anywhere in an OS without a mouse
- miles 6y agoShortcat https://shortcatapp.com/ https://shortcatapp.com/ “Keep your hands on the keyboard and boost your productivity! Shortcat is a keyboard tool for Mac OS X that lets you "click" buttons and control your apps with a few keystrokes. Think of it as Spotlight for the user interface.”
- drampelt 6y agoVimac for macOS does clicking and scrolling within any app https://vimacapp.com/ https://vimacapp.com/
- Reelin 6y agoIf you mean specifically a utility to have the window manager or desktop environment send mouse events to applications based on keyboard input, then no I've never heard of such a thing. It certainly might exist, but I suspect that such an approach would be full of incompatibilities. Consider that Vimium works by (among other things) parsing the DOM and making changes to it in real time. What would that look like for a desktop application with a GUI backend that's effectively a black box? For Linux, the obvious pragmatic answer is to use a tiling window manager (i3, awm, etc) combined with terminal based programs (since they are keyboard driven by default). Alternatively, you might have some amount of luck configuring lots of keyboard shortcuts in your window manager. You'd have to pick your programs very carefully though since most GUIs just aren't that compatible with being driven by a keyboard.
- butterisgood 6y agoI remain skeptical that keyboard only approaches are better than a well designed interaction with mouse and keyboard. At least with Acme on Plan 9 I’ve found mousing to be fast, efficient, and comfortable.
- brianush1 6y agoMy main problem is the high cost of repeatedly switching between mouse and keyboard. Type a sentence, move to your mouse, click a link, move back to keyboard, type another sentence, move to your mouse again... It gets repetitive and tiring after a while.
- butterisgood 6y agoI guess I don't find my typing and my mousing alternate all that much in practice? I'll try to pay more attention and see if I can better articulate this. I do tend to use Tab to move between text entry fields...
- octoberfranklin 6y agoUnusable because the vi-mode keybindings aren't available until the page finishes loading. Qutebrowser is far superior. Mozilla STILL refuse to produce a "libfirefox" like Chromium does with the CEF (Chromium Embedded Framework). This is incredibly selfish of Mozilla, they insist on being the only ones who can produce a browser using their browser engine, forcing Tor Browser to devote massive resources to maintaining a long-lived fork instead of just building on libfirefox.
- detaro 6y agoI'm fairly sure Mozilla wished they had a libfirefox (e.g. their mobile browsers suffer from not having that), but Firefox is badly designed to make one and they didn't want to invest the resources needed to do such a deep refactoring. Maybe one can be made from the new Android FF, which as far as I understand is a more separated out code base.
- octoberfranklin 6y agoI'm fairly sure you're wrong. They went out of their way to kill libxul.so.
- GekkePrutser 6y agoI can see where they're coming from though. You wouldn't want someone doing an 'edge chromium'.
- shermanmccoy 6y agoI noticed it requires access to the clipboard plus browsing data, among a slew of other stuff.
- vaccinator 6y agoToo bad it hasn't been ported to Android's FF... because I don't have a mouse, only a bluetooth keyboard.
- quietthrow 6y agoHow does one get vimium working on GSuite tools? I think this is a huge limitation. If anybody has figured it out I would love to hear how they did it. Thx
- nishparadox 6y agoGlad to see vimium been mentioned. I've been a fan of vimium for a long time as it fits perfectly with my setup of i3 + vim.
- deleted 6y ago[deleted]
- crossroadsguy 6y agoEither browsers have locked things down too tight, or for some other reasons these Vim like plugins are skeletons of their past. And websites are also keen to grab key strokes, e.g. "/" on Github. Some nice people have kept one alive for Safari as well https://github.com/televator-apps/vimari https://github.com/televator-apps/vimari but there's only so much they can do. It's almost useless. I tried Vimium-FF (https://addons.mozilla.org/en-GB/firefox/addon/vimium-ff https://addons.mozilla.org/en-GB/firefox/addon/vimium-ff) and many other Vim like add-ons in last 2-3 months (after I decided to give Firefox another try after Pocket; and the possibility of ditching MacOS in my personal usage), but no, these plugins are nearly nowhere as useable as they used to be. Page reloads, redirects, weird behaviours at anything I try to do. Maybe I can spend hours (over days) and have a perfect config file and maybe, just maybe, it will work as intended but then again it might break with next version or next browser update/upgrade. My most used features were "/" followed by "n" and "shift+n", "t" -> open and "w" -> close tab, "f", "o" -> getting focus in address bar. I think I will rather give up. Somehow I don't like to tinker anymore in the personal computer usage scenarios and maybe it's people like me who have caused/convinced companies like Apple to close things down and try to make apps and machines simpler (at which they have failed specularly).
- pletnes 6y agoBrowsers need a plugin API to allow user interface modifications without allowing user data and network access - somehow. Could be useful for many cases, including accessibility, I imagine.
- hestefisk 6y agoThanks for the tip. The 'f' tip is quite nice--much nicer than I have previously experienced with Vimperator and the like. For you Firefox users out there, there is a Vimium fork for Firefox called Vimium-FF.
- ehnto 6y agoI also have an additional configuration that makes pressing C hover over the link instead, which helps with some hoverstate menus but not all.
- ehnto 6y agoI am a big advocate for Vimium. For me, moving to the mouse is almost a context switch and I just find them cumbersome. I have played mouse based games my whole life so dexterity is no issue. It's mouse focused UIs are just inefficient in my opinion.
- boyobo 6y agoDoes anyone know of a program for mac which allows you to type using Vim input? Of course it's probably too hard to make it compatible with all the different types of text boxes, so I'm envisioning a shortcut that you can press, which brings up a small editing window, where you can use vim commands, and then you can copy and paste into whatever text field you want.
- niyaven 6y agoTip to open links on Firefox without the mouse. There's a setting that allow you to start search when you type text. For instance on this page if you type "look ma" it searches the text, and selects the first occurence, which is the link. You can then press enter and it will open the link. Or ctrl+enter to open in a new tab. I use it everyday, it's easy and convenient, you don't need to think much ; you simply start typing the some letters of the link you want to open.
- unicornporn 6y agoToo sad the switch to WebExtensions in Firefox totally screwed up these addons. I was a religious VimFX user and I can tell you that i mourn having lost that. It's like an era of powerful browsing ended. I use the mentioned Vimium addon, but it's not even close to what we had with VimFX. Does the keyboard shortcuts in Vimium work when the page is loading? No. How nice is it to have keyboard shortcuts that work sometimes? Extremely frustrating. How about using "o" to get to the address bar (CMD/CTRL+L)? It opens some overlay on the page where I can't access my bookmarks. I could go on. VimFX is still somewhat maintained, but you have to run an unsecure browser to use it (like WaterFox).
- desmap 6y agoI have to agree. Vimium is better than nothing but most of the time it feels like a subpar GUI editor with bolted-on vim binds that sometimes work.
- szszrk 6y agoSo true. It's so easy to accidentally "escape" context in which Vimium works. I still use mouse and standard shortcuts like ctrl+l a lot after each such use one has to deliberately click inside a web page to return to proper context. A lot of actions like tab switching can be done in vimium but sometimes it's a chore. Bookmarks CAN be accessed via "o" in Vimium :)You can also use "b" to browse just the bookmarks.
- lillesvin 6y ago
- Autowired 6y agoCool, but real web surfers use Emacsium.
- ractive 6y agoWithout a plugin on firefox: hit ' to open a search field that only searches for links, then start typing and hit enter when the correct link is highlighted.
- cassepipe 6y agoThanks!
- autocorr 6y agoVimium is great! From a usability stand-point, hints are a very useful way to navigate web-pages without requiring a lot of dexterity to select small elements. Once skilled at typing the hint labels, it's almost like having eye-tracking. One practical limitation is that it requires two hands to browse, so not great when eating, writing in a notebook, holding a drink, etc. Also if you float your hands above the keyboard instead of using a wrist rest, it's not very practical for extended casual browsing. In that scenario I find having a nice ergonomic mouse hard to beat.
- szszrk 6y agoBasically all of these "limitations" are valid for touch typing in general. If you eat while browsing it's ok to use mouse wheel :)
- penguin_booze 6y agoFWIW: in Firefox you can use ' (single quote) to search only in hyperlinks.
- madmax108 6y agoWow... how have I used Firefox for a decade now and not known this? Thanks for the tip!
- penguin_booze 6y agoThen treat yourself here: https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perf...! Also, this is a power tool: https://support.mozilla.org/en-US/kb/address-bar-autocomplete-firefox#w_changing-results-on-the-fly https://support.mozilla.org/en-US/kb/address-bar-autocomplet.... I regularly use ^ and * to get right to what I'm looking for. % is gawd-sent when you've too many tabs open. Ctrl+0 (on Linux, Alt+) goes to first tab; Ctrl+9 goes to the last tab.
- scns 6y agoI use Saka Key https://github.com/lusakasa/saka-key https://github.com/lusakasa/saka-key Usable in Chrome and Firefox. Configuration can be exported to JSON and reused on other machines.
- solatic 6y agoI eventually switched away from these extensions because of conflicts with webapps that have their own keyboard shortcuts. The keyboard shortcuts that webapps give you are much more expressive and usable (i.e. in Gmail), but they're never quite able to save you completely from needing a mouse. So you keep switching between vim mode to app shortcuts and back and it's not clear enough which mode you're in. Really makes me wish that it was easier for developers to choose native desktop development instead of webapp development. Web browsers are compromises all the way down.
- bewo001 6y agoWe've come full circle. The first time I accessed the web it was with telnet info.cern.ch which was line mode browser that worked like this plugin, a key per link.
- cassepipe 6y agoI love the Vimium extension on Firefox. My main frustration comes from the Omnibar. It works well but I would just prefer to use the native bar. I know the Vimium devs can't do anything about it, it's in Firefox's hands but still frustrating though.
- bojanvidanovic 6y agoThe first addon I install on any computer.