In this post I share some of the things that I have started to use in order to boost my productivity at work. I am going to keep this beginner-friendly, so in this post I won’t be recommending Neovim, if you are ready for that then you can dive in yourself and take a look at the documentation here.
Most of these tools focus on one thing; lessening the use of your mouse. Mice are actually pretty inaccurate and slow. We waste a lot of our time reaching for it, wiggling it to find where the cursor is, and then moving it to our intended target. If we can find a way to reduce mouse usage as much as possible then we will find ourselves doing things much faster.
But what about the system shortcuts? Well you can use Alt+Tab to go between windows, Ctrl+C etc etc. but once you start to experiment with the tools I recommend in this post you will soon realize that this has it’s limits. So let’s get started boosting our productivity…
Get a Vim plugin for your IDE
So I started by saying I wasn’t going to recommend Neovim in this post, but I would recommend starting out with a Vim plugin for you IDE. Many IDE’s have a Vim plugin that you can install. Go to your plugins menu and search for Vim.
It will seem weird at first, but once you get used to it you will quickly realize that you can do things very quickly. How it works is that it essentially gives your keyboard different modes that you can toggle between. What this allows for is to unlock a whole load more keyboard shortcuts than you would ever get without it. To give an example in normal mode you can use ‘gg’ to go to the top of the file, or ‘G’ to quickly go to the bottom. The h, j, k, and l keys can be used to move the cursor up, down, left and right. You can enter insert mode by pressing i, or a this will allow you to enter text like you would in any text editor. It also have other modes for selecting text, searching and other such functions.
The reason I recommend a Vim plugin initially is because you can still have access to the features you will be familiar with in your IDE such as any LSP plugins and so forth. You can set these up in Neovim but the barrier for entry is a lot higher than it is for using VSCode or some other IDE. I would recommend trying out Vim in this environment and then moving on to Neovim if you want to go deeper. Neovim does not hold your hand at all.
Things that I find Vim great for is doing stuff like selecting inside quotation marks of brackets with vi” or vi{ etc. Being able to jump to the end of a line with $ and then pressing o to insert something after. It might seem like a lot but once you are used to it, it really is quicker than using your mouse, or even your arrow keys.
I would recommend finding a list of commands and keeping it open in a tab whilst you are getting accustomed to using Vim. If you are anything like me you’ll love it.
Window tiling manager
Another thing that takes up a lot of time when we are writing code is navigating between windows, trying to find where our dev tools window is etc. For both Windows and Linux you can find window tiling managers. On Linux I use i3 and on my Windows machine I use GlazeWM. What a window manager will do is allow you to open different work spaces, navigate between them quickly using keyboard shortcuts. Open multiple windows in the same workspace without dragging floating windows around, they will automatically just take up half of the screen space each.
It is actually unbelievable how much using a window tiling manager will speed up your workflow. I would also recommend finding a list of key shortcuts and keeping it handy whilst getting familiar with your tiling window manager. You will start to wonder why you ever bothered getting a mouse.
Vimium browser addon
The Vimium browser addon allows you to control your browser in a similar way to the Vim addon to your IDE. You can open tabs, links, navigate your browser history and so on with similar keys to those you will be familiar with from using Vim. Pressing ? when you have the addon active will give you a list of the different commands.
When you combine these tools you’ll be navigating your workspace faster than you ever did before. The only downside is that on those occasions when you do have to reach for your mouse you’ll find yourself sighing in frustration at the exertion required to lift your hands from their comfortable spot on your keyboard.