Welcome to Takeo's Website

Is Vim a Next Zoom?

In 2020, when people encountered a strong need to interact with each other without physical contact that potentially transmitting the virus, some people had the solution already: Zoom. Imagine you're free from the desperation of losing a job caused by the disappearance of elemental conditions on which your profession is built. Bluntly speaking, people equipped with capabilities not stringently coupled with physical conditions were lucky.

If you had known Zoom, then you could grasp some fortune. It might be the company's IPO and the following surge of its stock price or an opportunity to become a leader due to showing technical savvy in introducing and promoting work from home for your organization. You could have kept yourself, your family, and your coworkers safe yet still worked and studied productively. Whatever, if you had known it before COVID-19, you were able to see a lot of opportunities and prepared for the future.

In this article, I will show you one utility with such potential: Vim. When many organizations first adopted Zoom, they asked about the difference between Zoom and Skype. The benefit of Vim, which I will introduce later, may not be obvious, but trust me. You cannot live with it once you use it, just as Zoom has become a part of our lives. Let's start with the prerequisites.

If you had been someone whose personal or professional relationships were entirely from your local, you wouldn't have become a user of Zoom. At least, you needed to be a user of Skype or an equivalent. By the same token, you must be a writer with a QWERTY keyboard. In other words, you cannot be someone who can produce a very long text with your smartphone. I couldn't believe that was true when I first heard about students completing their college essay assignments with their mobile phones. That capability is admirable but, unfortunately, not extensible. You must also know how to type without looking at the keyboard. Mastering touch typing requires some patience and time. But if you haven't mastered it yet, please do so as soon as possible, especially if you're young. If the utility I introduce, Vim, will increase your productivity, the touch typing will improve your appearance. You know that.

(If you want to know the atmosphere encircling the competition for both the development of better machines and beautiful yet efficient women called typists, watch this French film, "Populaire (2013)Links to an external site..")

Let me tell you why I have the credibility to speak of the productivity side of the thing. I still remember hearing the name of the Skype-like application for the first time. It was Spring 2018 at a McDonald's in Tokyo. I was talking with Python programmers I planned to hire for my project. Two of them already talked about how they would interact when the project started. When I met them individually, what they said was somewhat palpable. However, when they were on their own, the language they used to communicate was unintelligible. It was a big shame as someone who paid for them to be there. But that's another story.

Of those Jargon, one I picked and had to ask about was Zoom. After knowing its existence, I was still questionable about its productivity and still believed in the effectiveness and, more importantly, the need to meet people face to face to propel work. I was secretly proud of the amount of money and the frequency of using taxi to meet people. But I was wrong. As you might already know, whether or not you physically meet people depends on their needs and can be evaluated at granular levels. You don't necessarily meet coworkers and supervisors every time you need to exchange information and work together. I learned I was wrong almost two years earlier than the majority of our societies know it. We collectively found out that we have more options when it comes to working together or distributing information, and physically meeting each other is precious and expensive, yet is not the only choice we can make. Thanks to what the programmers introduced to my work, I could enjoy a work-life balance by living far from work but working effectively.

Vim has such potential. You'll say goodbye with your arrow keys using Vim. The result is reduced friction when you edit text. Have you ever felt frustrated when moving your fingers back and forth between the home row with a, s, d, f, g, h, j, k, l, and the arrow keys at the lower right corner of your keyboard? Have you ever been distracted by the time you needed to get used to the new keyboard because of the differently positioned arrow keys from the old one? Have you ever neglected apparent mistyping, thinking you would correct it after finishing the sentence, and forgot to do that? Vim will help you.

Vim is one of the default text editors of the Linux Operating System, and what it makes you do with it is abundant. However, moving your cursor without arrow keys is the most eminent feature of it and what I want to focus on in this article. To do that, you don't need to switch to Linux or learn something new as much as when you learned touch typing. What you're going to do is three things:

  1. installing a small app;
  2. deciding which key to invoke the new function of keys 'h,' 'j,' 'k,' and 'l' (for Mac) or, conversely, knowing 'i' is the key letting you type text in (for Windows);
  3. knowing that the three keys your right-hand fingers always touch and the key 'h' are the alternative for the arrow keys.

You type 'h,' 'j,' 'k,' and 'l' to move your cursor to left, down, up, and right. I am writing the preceding sentence carefully, looking at my keyboard because I'm no longer conscious about their locations. It's a muscle memory thing. The only thing you consciously do is read carefully and understand the first sentence of this paragraph. That's all. Then, motivate yourself to practice with whatever you feel comfortable with. Since this is only a moving-cursor feature of Vim, practicing with any actual text you need to edit is the most practical way.

The most challenging part is installing an app phase and its configuration. But don't be discouraged by that. I'll go through all the steps.

The app we're installing, or more generally, Vim, alters keys' functions to other functions. That means making 'h,' 'j,' 'k,' and 'l' work differently. What if you want to type those letters as they are? That's when what I wrote before comes in: "deciding which key to invoke the keys 'h,' 'j,' 'k,' and 'l' (for Mac) or, conversely, knowing 'i' is the key letting you type text in (for Windows)." You will frequently switch between the two modes; this switching key is conveniently located. For MacOS, that's the 'caps lock' key, and you keep pushing caps lock while moving with 'h,' 'j,' 'k,' and 'l.' For Windows, type the 'i' key when you type text and type escape to invoke the moving-with-'h,'-'j,'-'k,'-'l' feature. For your information, 'i' is short for 'insert-mode' in Vim.

These are instructions for Mac users (jump to the paragraph starting with "For Windows users" if you use Windows.) :

  1. Install Karabiner Elements;
  2. Start 'Karabiner-Elements.app' on your Mac and see 'Karabiner-Elements Settings' window pop up;
  3. Select 'Complex Modifications' in the left pane;
  4. Click 'Add rule' button;
  5. In the window popped up, click 'Import more rules from the Internet (Open a web browser)' button;
  6. Find 'Caps Lock Vim Movements (rev 2)' by searching function;
  7. Click 'Import' button to the right of '> Caps Lock Vim Movements (rev 2);'
  8. Click 'Open Karabiner-Elements.app' to answer the question 'Open Karabiner-Elements.app?' in the popped-up window (called 'modal') although you've already opened the app;
  9. Click the 'Import' button. By doing this, a configuration file will be created in the designated location by the app;
  10. See three lower-level rules that can be enablable are shown under the rule group you just imported, 'Caps Lock Vim Movements (rev 2);'
  11. Click the 'Enable' button to the right of rule' CAPS > ESC, CAPS+H/J/K/L > ←↓↑→, CAPS+D/U > PG↓↑,' one of the three rules of 'Caps Lock Vim Movements (rev 2).'

These are caveats at some steps. In step 5, don't be distracted by 'Examples' and the rules under that. If, for some reason, you can't get the hoped result, remember that you might have accomplished necessities without knowing you already did so. For example, by step 9, you download a tiny configuration file into your Mac, so you want to avoid repeating that. You will understand that by clicking the "Add rule' button described in step 4 and reach the same result displayed in step 10. If you use an external keyboard, remember to toggle on ‘Modify events’ for your keyboard displayed in Device section of Karabiner-Elements Settings.

Remember you only need to enable one rule of three bundled as one under the name 'Caps Lock Vim Movements (rev 2).' I chose this specific rule because it's simple. Importing the rule set 'Caps Lock Vim Movements (rev 2)' and enabling only one rule makes you feel manageable.

For Windows users, I'd like to recommend vim_ahr. It works well in Microsoft Word, PowerPoint, and NotePad. It can also work in other native applications. You should know it doesn't work well in Google Docs because it is a web application running in a web browser. Also, it doesn't work well in Excel. With Karabiner Elements on MacOS, you can move around on a sheet with 'h,' 'j,' 'k,' and 'l,' but you can't do so on Windows with vim_ahr. The reason might be that while Karabiner Elements on MacOS is a key remapping application, vim_ahk is an emulator of Vim, a text editing application.

Before illustrating the steps to follow, remember that you can easily find yourself lost while using vim_ahk. That's because it is, as I mentioned, a Vim emulator and isn't a key-binding remapper. That means typing 'dd' deletes the current line, '2b' moves your cursor to the first letter of the word preceding two words from the word your cursor is currently sitting, etc. But rest assured that you're safe by limiting your use of vim_ahk to only type 'i' and the escape key except for our familiar 'h,' 'j,' 'k,' and 'l.' When you find yourself lost, type the escape key; then you're in the normal mode, where you move your cursor with 'h,' 'j,' 'k,' and 'l.' And type 'i' when you navigate the cursor to the position you want to type in because 'i' is short for 'insert-mode.'

Are you ready? These are the steps for Windows users:

  1. Using a browser, go to the homepage of github.com;
  2. Type 'vim_ahk' in the search bar;
  3. Click 'rcmdnk/vim_ahk' to go to the page of vim_ahk (don't click other ones);
  4. Search for the word 'Releases' on the page and click it (it must be a link);
  5. Click on the file vim_ahk-v##.##.##.zip under 'Assets' of the latest release of the application;
  6. When it is downloaded, click the 'Show in folder' icon on the 'Downloads' section of the browser;
  7. Right click on the downloaded file and select 'Extract All…;'
  8. Click 'Extract' button when you see the location of the extract is okay (or choose a location of your choice);
  9. Double click the folder ‘vim_ahk’ to peek into it;
  10. Locate the file with green icon with white 'H' in it and name of 'vim_ahk.exe' (you might not see '.exe' part,) and right click;
  11. Select 'Properties;'
  12. Tick off the rectangular box to the left of 'Unblock' in the section of 'Security;'
  13. Click 'OK' to close the vim_ahk Properties window;
  14. Double click the file to run vim_ahk (the app doesn't require installation);
  15. Open your file with an application such as Microsoft Word; and
  16. Notice you can type in the file because you're in the 'insert' mode of Vim.

If you reach this sentence, you're realistically peeking into a part of the journey pursuing productivity and efficiency in professions using the keyboard intensively. There was an exaggeration when I appointed Vim to a potential Zoom because it doesn't benefit from the network effect as Zoom does. But I hope this article will help to broaden our network of Vimmers.

Copyright © 2024 Takeo Shimazu