Why use a mouse if you have a keyboard?

imageDespite the provocative headline, I do not seek to rekindle the holivar. I want to talk about the unused potential of the keyboard, about those things that help to improve the programmer’s productivity and save you from unnecessary gestures towards the mouse.

Blind Printing Method


Let's start with the classics of the genre, this is the foundation. Although you can argue about the importance of touch typing for a programmer, but if you look at the keyboard to find the letter you need, then all the rest of the paragraphs in this article will be meaningless to you (or not).

For a programmer, printing speed is not critical, because most of the time we think and print very little (relative to copywriters, for example). It is important for us to be able to find keys with eyes closed.

Everyone remembers Solo ... Shahidzhanyan ... And personally, this simulator beat off my desire to learn how to print. In general, the course is not bad, but the service and little things kill all the enthusiasm. Therefore, it is better to be afraid.

Simulators
  • klava.org - a good simulator, a lot of modes. I chose it;
  • stamina-online.ru - there are a lot of lessons, but it was not done as pleasantly as the previous one. There are still advertising banners for those who want to lose weight;
  • klavogonki.ru is an entertaining thing. Competitions with other people (in real time) in print speed;
  • jzelenkov offered service typing.io - for training source code printing. He strained me a little, because I do not write the code sequentially.


This list can be continued very long, if you want more, google. The main thing to remember is that we are interested in the English layout, of course, if you are not programming in 1C.

But if the typing machines made you break the keyboard, there is another way. leventov remembered the Easy way to learn a blind ten-finger kit .

Vim


Many have heard about the Vim editor, but not many have tried to work in it, and even less work. This is not surprising, Vim is not one of those things that you can take and use immediately. You need to get used to it through pain and humiliation, because at first the performance will drop significantly. But let’s leave Vim for Tru Linuxux itself. Personally, I'm interested in his philosophy. In Vim, they write with the keyboard, not the mouse. In other words, Vimway is a minimization of body movements to achieve a result.

For popular editors and IDEs there are plugins that allow you to touch the shrine. Sublime Text out of the box has such a plugin, called Vintage Mode (link instruction).

You can install the official IdeaVim plugin in the JetBrains IDE.

The bottom line is: there are two modes - Insert Mode and Command Mode. In the first, we print as usual, and in the second, the cursor changes and it becomes possible to use the cherished commands, which save a lot of time. For example, the cursor is moved using the keys H (←), J (↓), K (↑), L (→). That is, you do not need to reach for the arrows to move the cursor. Hands always remain above the same area of ​​the keyboard.

Better to see once:



At first glance, this may seem complicated, but as you get used to it, you will understand the beauty of Vimway. Usually, the commands in the plugins correspond to the original, so google Vim's commands or put such wallpapers on your desktop. And, as mentioned above, it is important to click blindly on the buttons. Over time, this will come to automatism.

Am I cool now?


Definitely yes. But I would like to talk about another cool thing. Despite all the functionality of Vim, sometimes it’s annoying to drive around the code with your hands. I want to quickly move to the right place, and not go to the line and catch up with the cursor to the desired attribute. The following stray will help us flit through the code:

  • Sublime Text - EasyMotion;
  • I came across two similar plugins in the JetBrains IDE: AceJump and QuickJump. I like the first one more, because first of all bindit transitions to letters, not numbers. And the second has more functionality.


Again, it's better to see how this works:



Conclusion


In addition to all of the above, it is worth noting the importance of studying the environment in which you work. Modern IDEs provide incredible functionality and a bunch of hot keys, from which sometimes the head goes around, but it's worth it. The space occupied by the button panels and directory trees is freed up, productivity is increased. Also pay attention to the full-screen mode (it is in almost all editors), it gives incredible immersion and concentration.

We could mention Zen Conding / Emmet, but this is a highly specialized piece for web developers, so let’s omit it.

Program with the keyboard, not the mouse.

Thanks for attention.

Also popular now: