Stop falling back to the easy to use “does it all” solutions. No matter how much you use those apps, you will never get True state of flow in them. I find it extremely important to make sure my tools are truly mine, and work for me, not against me.
If you work with any type of text, learning the Vim shortcuts will no hurt you, in fact, it will make every second of your user experience much more enjoyable and efficient. Yes, you need to learn tons of shortcuts in order to do what seems like basic actions, but those actions will soon become so intuitive, that you will no longer notice how you do them. Instead of fighting with you text editor, it will aid you in your writing. Instead of being an obstacle between your mind and the doc, it will feel like it’s extension, thanks to the learning curve you went though in order to get proficient with the app.
Another benefit of configuring all of your most common digital tools, is the feeling you get from them while you use them. They feel truly yours, giving you a sense of pride, as you continue to use them.
An example of such tool that I configured myself (and I’m currently using it to write this article) is Nvim. It’s my main Text editor, I configured dozens for shortcuts on it as well as custom actions that aid me with my daily tasks. I mostly use Nvim for writing text into my 2ndBrain [[myInsance2ndBrainSetup]], so most of my shortcuts are adjusted to work with English text and to use markdown for formatting. Here are some examples of shortcuts that I’ve added
- A pop up terminal
- An automatic Markdown to HTML compiler, allowing for a nice preview of the document.
- Quick commenting out of highlighted text (the type of comment is automatically chosen based on the file extension)
- Full text search (from the root of all of my notes) to quickly find needed files and sentences in the said files
- A shortcut to show a list of all the pages linking to the page I’m currently on
- “Find Friends” of a link (while the cursor is on a link, it will show all other files that have the same link)
- When in insert mode, typing
[[
will prompt a list of all of my pages allowing me to make links to pages without breaking my typing flow
I have a load more shortcuts, but I don’t see a point in listing all of them here.
In addition to my own configs, the default Vim binds seem to be the most comfortable and logical way to edit any sort of text, as they are made in such way that never requires you to take your hands of the keyboard, therefore making the typing experience much nicer. It got to the point that the only pointer device that I actually use is a track point on my keyboard. Thanks to it, I never have to break the flow by moving my hand to the Mouse, while allowing for quick mouse movement without significantly moving my hands. While this seems excessive at first, You will totally understand what I mean if you work at your computer for any extensive period of time, especially if your work requires loads of typing. After around 2-3 hours, you get slightly irritated by your mouse, since in a regular setup, mouse grabbing is required every few seconds to effectively move things around. This gets progressively more and more frustrating the move time passes, leaving you extremely annoyed at the end of the day. The hilarious thing is that you don’t even realize that your mouse is the source for your frustration. As you probably realized, a track point is another good example of a tool that is harder to learn, but leads to a significant quality of life improvement if mastered.
To get started, take the task you do the most during your work day, highlight the most common thing you do on it (which is often the only thing you actually do with the said tool) and try to find better alternative applications that focus more on that one task. Lets take your window manager as an example. Most people reading this, will be either on Windows or Mac, but The Linux folk already know exactly what im talking about.
What is most commonly used, is a “floating” window manager: when you open a new app, it opens on top of your other apps and can be dragged around the screen and resided in any way you like. While this method of organizing windows allows for an intuitive approach to having loads of apps open and used at (more or less) the same time, its actually not the most enjoyable way of organizing your work space. A tiling window manager automatically organizes your windows by fitting them into a grid defined by the user. To make it more clear to the people who don’t know what I’m talking about, Ill use the most common starter tiling window manager: i3wm. When you open an app though a start menu, the app take up the entire visible screen, when a 2nd app is opened, the first app resides to take up 50% of the screen on the right, while the new app take the remaining space to the left. A 3rd window will make each window take up 33% (with them being placed from left to right, the right one being the most recent opened window). The true magic starts when you press a key and the split orientation changes form vertical to horizontal, allowing for any of the existing windows to be split in two horizontally by anther app.
The picture above shows 3 open terminal windows, with the numbers representing the order they were opened in.
NOTE: The window manager in the picture is not the same as default i3wm, since there are visual gabs between the windows, but that’s just a result of my personal configuration, I wont change it for the sake of an example. The general idea is still the same.
While an extremely compelling solution to organize your windows, you will quickly realize how limited the number of opened windows might seem to be, This problem is addressed by 9 work spaces at the top, which can be quickly navigated though by pressing the Windows key + the number of the work space. If done with minimal thought, this can lead to instant access to all of your open apps and completely eliminates the need to manually organize your open windows. Learning to use i3wm, as well as configuring all the possible binds that you might want (as you probably realized, this entire window manager is completely shortcut based) might seems like an extremely overwhelming task at first, but you soon realize how superior it is in comparison to floating window managers.
I can make a dozen more examples of similar apps, but I hope I made my message clear: Often, when a thing is harder to learn at the start, its due to its complete superiority when mastered and configured to suite your exact needs.