Switching between the mouse and keyboard is a fool’s game - one that takes 100% productivity and slowly erodes it away, percentage point by percentage point until we are taking valuable brain power and energy to swap between the two. Emacs and vim users find this one of the very few things they agree upon.
I found this quite obviously in my own workflow, and I started to use a trackball (MX Ergo) so as not to be moving a mouse around with my right arm all the time. This was a good first step toward killing mouse use entirely. But it wasn’t enough - I was still reaching for it dozens of times an hour, which could have been better used in typing without unnecessary movement between my input devices.
So, I looked into ways of accomplishing this..
Emacs, of course #
The inclusion of emacs back into my workflow is an obvious way to cease mouse use, as it is an entirely keyboard driven workflow.
Using emacs as my main input method for everything in my computing life has taken unnecessary mouse movement down probably about 10%, as I was using a TUI/CLI workflow before. One can get that workflow entirely keyboard driven without a mouse, too.
The browser #
The other main window I permanently have on workspace two in my setup is firefox, and browsing the modern web without a mouse is a little more taxing. Sure, I could just use eww in emacs and become a luddite (I may just yet!), but for a more sane option we have:
Caret mode - Built into firefox. Press F7, then one can move around the window with a caret, selecting text with shift-arrow, and copying it normally with ctrl-c.
Use a particular browser such as Qutebrowser which uses vim keys by default. I really like qutebrowser, but it is has issues with memory leaks and can kill your battery if not paying attention to the processes it is running.
My choice: Vimium C #
Vimium and a slightly better implementation and my default Vimium-C - Vim functionality kicked up a notch in that you can use normal vim keys to navigate the selection, navigate entirely with hints on the keyboard, as well as various ways to copy and interact with text and the browser window:
« or » - moves the tab up or down (left or right in the browser tab bar)
yy - copies the url of the page you are on
yf - copies the url of a selected point on the page
You can copy a url then hit p (or P to open in a new tab) to quickly navigate to that url.
gu and gU - can be used to return up one url heirarchy or home respectively
yi will copy an image
Now, where this really took off for me is the following:
yv is visual selection, allowing one to copy and paste text without the use of the mouse.
T allows you to search through your open tabs
ge and gE allows you to edit the url and go to it or in a new tab
o and O - open a better way to work with the url bar in vomnibar
? - opens up a manual incase you ever get confused or lost
One comes to find that firefox can actually be used entirely keyboard driven, as a way to really integrate with an emacs/vim workflow.
This has made my life so much easier in using the tool of the computer, permitting no contextual switching, in a way that permits speed of input and browsing with my thought.
I probably save over an hour a week now on various browser activities, which adds up to days over the year.
How have you killed the mouse? Post a comment below or send me an email.