Detractors Need to Shut Up! Vim is the Yoda of the Dev Community
Developers are often considered finicky and spoilt for choice when it comes to choosing the right tools. Many feel the widespread use of JavaScript should be stopped and better programming languages, like WebAssembly, should be used in the first case. However, since the JavaScript community is huge and new JS frameworks are frequently launched, the programming language still continues to be one of the most widely used programming languages. In a similar vein, when it comes to text editors, Vim is the preferred choice for many developers. Launched in November 1991, the text editor remains famous among the developer community in 2022 too! As per a Reddit user, “Vim is always there, always fast, and can do anything the other editors do, minus a bit of the prettiness. I have the same .vimrc on each server and my laptop, and Vim always looks, feels, and behaves the same way. I would prefer to use the same tool everywhere.” Editing-master Vim The biggest problem that new developers face with Vim is that it has a long learning curve. Using Vim for the first time is like switching to Adobe Premiere Pro from Wondershare Filmora. The interface can be confusing, there may be a long learning curve, but in the end, when the developer becomes familiar with the keys, and the functions, it’s hard to go back to something else. The biggest advantage of Vim is keyboard navigation and its focus on editing. The main work of programmers revolves around pre-existing code bases, fixing bugs, refactoring old code bases and adding functionalities. And since Vim’s core strength is key-binding, it becomes a very important part of the day-to-day workflow of developers. Programmers can completely avoid using the mouse thanks to Vim’s keyboard navigation. Unlike a majority of contemporary text editors and IDEs (Integrated Development Environments), Vim runs on the command line and is entirely controlled by the keyboard. Since Vim is so flexible, developers may customise it to fit the way they work and code. Additionally, you may edit the words, sentences, and paragraphs all at once, going beyond editing individual characters. There are text objects for many programming constructs, and you can always make your own custom text objects. Basically, Vim has a small footprint, comes with low latency and provides quick startup. It allows for more screen space while still being customisable; and most significantly, for a developer it becomes nearly impossible to convert to something else once the muscle memory has been implanted. A developer with extensive Vim experience can experience their IDE being slow simply because Vim occupies much of their time. However, many criticise Vim as being complex and its learning curve being longer than most of the text editors out there. Comparing Vim with its considered opponent Kakoune, a programmer said, “Some commands in Vim are “verb-object” (dw for delete word), whereas others are ‘object-verb’ (vwd for visual word delete). In Kakoune, all commands are ‘object-verb’, which means it’s more consistent, and you get visual feedback about which text you’re about to operate on before you actually hit the verb.” “Vim has confusing, inconsistent syntax for commands,” said the programmer. When new developers struggle to exit the Vim editor, it’s pretty understandable why they do not want to try it in the first place. Can Vim be compared to other new text editors? When it comes to text editors, there is only one editor which can be compared with Vim – Kakoune. The new-age text editor claims to use even less keystrokes than Vim and still have more features. Many developers believe it to be a competitor of Vim and are of the opinion that Kakoune can edit as good as Vim, but wins for discoverable editing features and natural/productive multiple cursors. In Vim, for instance, the developer can use the o key to move to the opposite side of the selection and the i and a keys to access text objects in visual or operating-pending mode. Since operator-pending mode is a distinct context, you are able to bind keys like dp, coc, etc. In Kakoune however, text objects must now be used with modifiers and as a result, Kakoune actually needs more modifiers than Vim for many common operations (such as diw vs. a-i>wd). Additionally, the feature with which most of the new-age text editors come is the automatic selection, and while it might be somewhat helpful for new developers, it’s actually distracting. As per Fox Kiester, “Kakoune’s model of additionally distinguishing between extending and replacing the selected region (as the result of combining normal and visual mode) requires binding twice as many keys for every motion. This eats up keys that could potentially be put to better use.”
‘Kakoune is the scooter of text editors. Vim is the bike’, defined a Medium writer very aptly
'Kakoune is the scooter of text editors. Vim is the bike’, defined a Medium writer very aptly
["IDE", "Javascript", "webassembly"]
["Go", "programming_languages:R", "AI", "webassembly", "Javascript", "Java", "RAG", "Aim", "JavaScript", "programming_languages:JavaScript", "R", "IDE", "startup"]
["AI", "Aim", "RAG", "R", "JavaScript", "Go", "Java", "startup", "programming_languages:R", "programming_languages:JavaScript"]
Tech-savvy storyteller with a knack for uncovering AI's hidden gems and dodging its potential pitfalls. 'Navigating the world of tech', one story at a time.
You can reach me at: lokesh.choudhary@analyticsindiamag.com.