Should You Bother Learning VIM? | ComputerCareers (2023)

If you’ve been programming for some time, you’ve probably heard of “vim”, a command-line text editor. If you have no idea how to use it, it might be time to learn it. But should you? Read more in this article.

What is VIM?

VIM (Vi IMproved) is a command-line text editor. It’s available on Unix, Linux, and Windows.

It’s popular with software developers for many reasons, which I’ll go into in this article. The reason it’s so different from other text editors (such as a command line, or Notepad) is that you can perform many text manipulation commands right from a single line. It aims to boost productivity by using these commands and shortcuts, which don’t exist in other text editors or IDEs.

Vim has been around for many years, and many software developers are familiar with it. The term “learning VIM” refers to learning how to use it, learning the commands, and generally learning how to be productive with it.

But should you learn VIM?

Personally, I don’t know how to use it. I’ve seen people who use it, and thought that it looks impressive, but I’ve never taken the time to learn. I’ve found that Notepad++ has been sufficient for me for many years, and being brought up with graphical user interfaces, using a command-line text editor seems unintuitive. But, I can appreciate the productivity benefits you get from it once you know how to use it, and I’m really considering learning it.

Why Should You Bother Learning VIM?

So, why should you learn VIM?

There are a few reasons to learn VIM.

It’s on every Unix machine and most Linux machines.

Having such a wide availability makes it easier to access, no matter where you are. There’s no need to install other editors, as you can just use vim.

Increased productivity

Most people who use vim say that it’s worth learning as it improves your productivity. Tasks that usually require arrow keys to move around, such as copying and pasting lines of code from a few lines above, are much easier in vim. You can use it without a mouse as well, and navigating files with the keyboard is much easier and faster.

Once you are competent with vim, you’ll be much more productive with it.

You don’t need to master it.

Some people (myself included) think that you need to master the vim tool to actually see any benefits from it. I’ve been told this isn’t true. You just need to know the basics and have a little experience to start seeing what it can do and to actually get some productivity benefits from it.

There are a few basic commands, such as navigating up and down lines, saving files, and switching from insert to command mode, that once learned, will show you that editing files can be fast.

It’s not as hard as you think

While it’s often said that vim has a steep learning curve, I’ve seen reports (from many Stack Overflow users) that the basics of learning vim is not that hard or time consuming.

Vim includes a tutorial called vimtutor. You should just be able to run the command “vimtutor” on the command line.

It’s a short tutorial, which takes between 30-60 minutes. Repeated usage will make you more familiar with it.

You can probably spend a week running through the tutorial each day, and be familiar with the VIM basics by the end of the week.

From there, you can look up any of these sites:

A lot of tips available on Stack Overflow

Stack Overflow has a dedicated tag for vim.You can go there to find a lot of tips, from beginner to more advanced tips. You can ask questions there too – but be sure to search first, as they can be marked as duplicate if it’s already been asked.

Why Should You Not Learn VIM?

So, while you have a bunch of reasons to learn VIM, it’s not all positive.

Why should you not learn VIM?

I can only think of one reason.

You work mostly in Windows in an IDE

If you do most of your programming in a Windows server environment within an IDE (such as using C# on a Windows server), then you may not need to learn vim. You may find that you get enough benefits from using the IDE, and the fact it may not be on the Windows server, that it’s not worth your time.

That’s the only reason I can think of not to think about learning vim.

As a programmer, there are always new languages and technologies coming out, and learning is a big part of our career. Sometimes it’s good to “go back” and learn something that’s been around for a while, which includes vim.

You know how at the start of the article I said I haven’t learnt vim? Well, I think that after writing this article, I’ve convinced myself to learn it. Off to vimtutor I go!

What do you think? Do you know vim? If not, why haven’t you looked into learning vim?

FAQs

Is it worth it to learn vim? ›

Everyone who types on a computer eight hours a day should learn the Vim language. Yes, it's hard in the beginning, but that's the case with everything new and different. But getting better every day and having more fun coding or writing should be motivation enough. You're not too busy to learn - you'll learn as you go.

Is it worth learning vim in 2023? ›

Vim is still the most efficient way to edit text.

Another reason to come back to Vim, even in 2023, is that it's still one of the most efficient available options to edit text. While sophisticated editors like Visual Studio Code (VS Code) have come a long way, there's still no great replacement for Vim.

Is there a point in learning vim? ›

Once you start learning Vim, you'll be more efficient and effective than you ever were with nano. All the power Vim provides allows you to do things quickly. You can even make complex edits fairly quick and easily, once you know how Vim works.

Why do some people use vim? ›

Vim is a text editor for Unix that comes with Linux, BSD, and macOS. It is known to be fast and powerful, partly because it is a small program that can run in a terminal (although it has a graphical interface). It is mainly because it can be managed entirely without menus or a mouse with a keyboard.

What percentage of programmers use Vim? ›

If we look at the StackOverflow survey for 2019 about the most popular development environments, Vim is still there on the 5th place, with around 25% of Web Developers using it.

How long does it take to be proficient in Vim? ›

You can learn to use vim in 30 minutes

You won't be fast yet, no; but you'll be competent. And even after those 30 minutes, you're going to start grasping the ideas that make vim so amazing: the brilliant design decision that is modal editing, the composability of commands, the clever mnemonic naming of commands.

Why Neovim is better than Vim? ›

Compared to Vim, Neovim uses Lua, an actual programming language, to configure and extend the editor. This makes writing plugins and configuring Neovim easier compared to Vim's native Vimscript. Neovim is a great place to start learning Vim today, as it has so many awesome plugins.

Should I learn Vim or VS code? ›

Vim's still better and here's why.

There's some obvious reasons why Vim has an advantage over any GUI editor. It's light and fast, you can code over SSH on a server, it keeps you in your terminal, it's widely available, hugely portable and highly configurable.

How hard is it to exit Vim? ›

Remember Esc : As mentioned above, pressing Esc is a key step in exiting Vim. If you are having trouble exiting insert mode or entering commands, try pressing Esc first to return to normal mode. Use :q : If you just want to exit Vim and you are unsure if you have made any changes, you can use the :q command.

Is Vim good for C++? ›

Vim C++ is a powerful text editor that is popular among system administrators and programmers. While it is not a full-featured word processor, nor a complete IDE for code development, it makes up for this with improved speed and performance.

Why use Vim over emacs? ›

Productivity and Editing Speed

File editing is usually faster with Vim than with Emacs because of Vim's purposely speed-driven interface. For example, cursor movement can be controlled through the H, J, K, and L keys in the normal mode.

Is Vim good for data science? ›

And, if you are comfortable enough with the Vim key binding and shell commands, you can use Vim to do almost everything you need to do as a data scientist. For instance, data scientists can easily use Vim to edit CSV files, or to run multiple shell commands on a server for data analysis at one time.

Does Linus Torvalds use Vim or Emacs? ›

Many programmers use either Emacs and vi or their various offshoots, including Linus Torvalds who uses MicroEMACS.

Do software engineers use Vim? ›

When you use vim you follow that philosophy to be better and quicker at editing code, text, or markdown. You are always learning new tricks and always evolving and the best thing is you can use this skill almost everywhere. This is the most important skill for software engineers to be evolving continuously.

What should I use instead of Vim? ›

Top Alternatives to Vim
  • Emacs. GNU Emacs is an extensible, customizable text editor—and more. ...
  • Neovim. ...
  • Atom. ...
  • Notepad++ ...
  • Sublime Text. ...
  • Visual Studio Code. ...
  • CodeMirror. ...
  • Brackets.

What famous programmers use Vim? ›

Originally Answered: Who are the famous programmers who use VIM? Curtis "Ovid" Poe and Damian Conway, two amazing Perl Gurus use Vim. Damian Conway has an amazing video.

Why do people prefer Vim over IDE? ›

Originally Answered: Why use vim over an IDE like atom? The greatest problem about IDE is that you have to use your mouse too much, which is slower than keyboard actions. In an editor like vim / emacs, you only need to use your keyboard to navigate/edit which basically increase your efficiency (if you know the keys).

Why Vim is better than VS Code? ›

"Comes by default in most unix systems (remote editing)", "Fast" and "Highly configurable" are the key factors why developers consider Vim; whereas "Powerful multilanguage IDE", "Fast" and "Front-end develop out of the box" are the primary reasons why Visual Studio Code is favored.

Where is the best place to learn Vim? ›

9 Best Vim Courses to Take in 2023
CourseWorkload
1. vimtutor (Vim)1–2 hours long
2. Editors – Vim (Massachusetts Institute of Technology)1 hour long
3. Vim Tutorial for Beginners (freeCodeCamp)1–2 hours long
4. VimGenius (vimgenius.com)2–4 hours long
5 more rows
Aug 15, 2022

How long does it take to be perfect in coding? ›

If you choose the non-degree route, you can become a programmer in as little as three to six months. However, a conventional bachelor's degree typically takes four years to complete.

How long does it take to learn vi? ›

A brand new learner can reasonably expect to be able to hold a conversation in Na'vi in anywhere between 2 weeks to 3 months, so long as they take time to study and practice what they've learned several times a week. Obviously if you don't practice, you won't magically be able to speak it in two weeks.

Why Vim is so difficult? ›

Why is it so hard to learn vim and stick to it, well meanly because of vims steep learning curve which is different than most other stuff you try to learn. To learn vim, you need to create muscle memory, do not try to memorize every single command the first day, it is impossible.

Should I use Neovim instead of Vim? ›

Terminal Emulation: Neovim provides better terminal emulation compared to Vim. It has a built-in terminal mode that allows running a terminal emulator within the editor itself. This feature enables developers to execute and interact with command-line tools without leaving the editor environment.

Is Vim faster than mouse? ›

> Vim and Emacs style movement commands are faster than the mouse in certain contexts, but I'm dubious that's universally true. "I want to jump to line 123" is easy, but what about "I want to move the cursor to the open brace character right there"?

Which is easier to learn Vim or emacs? ›

Emacs is easier to learn since it has a more natural interface (for users familiar with GUI-based text editors). Since Vim has different editing modes, beginners find it a little harder to learn. The main difference between the two is speed.

How to learn Vim effectively? ›

The best way to learn is practice. Take a few minutes to try Vim out. If you're on a Linux system right now, open up a terminal and type vim filename. Enter insert mode and type a bit (or copy some of the text from this article into Vim) and then hit Escape to start practicing movement around the file.

Why can't I quit Vim? ›

In order to exit Vim, you can exit while you are in either the ex mode or in the command mode. You cannot exit Vim when you are in input mode. You need to be sure that you are in the Command mode. To do that, simply press the Esc key.

How do I quit Vim without writing? ›

Exit Without Saving Changes in Vi / Vim
  1. Switch to command mode by pressing the Esc key.
  2. Press : (colon) to open the prompt bar in the bottom left corner of the window.
  3. Type q! after the colon and hit Enter to exit without saving the changes.
Sep 22, 2022

What happens if you open Vim? ›

Once you open Vim, you get into an interactive mode. IMPORTANT: Vim has multiple modes. IMPORTANT: Vim operates on commands. Vim is extremely configurable.

Why use Vim for Python? ›

Why is Vim a good Python development environment? Vim's philosophy is that developers are more productive when they avoid taking their hands off the keyboard. Code should flow naturally from the developer's thoughts through the keyboard and onto the screen.

Why use Vim over Notepad ++? ›

Vim is an open source configurable text editor. Notepad++, while being a great editor, is very easy to get familiar with. However, being a serious developer, having the most efficient tool is much more important than having an easy tool. Vim's speed is very much faster than that of notepad++.

Do people still use vim and Emacs? ›

Vim and Emacs aren't going anywhere anytime soon, no matter their antiquated status in modern development environments.

Is Emacs more popular than Vim? ›

Vim, the improved version of vi, scored 25.8% in popularity, while Emacs scored a paltry 4.1%. That is a staggering difference. To further gauge popularity, I counted 22,582 questions tagged with vim and 15,667 questions tagged with Emacs on Stack Overflow. You could argue that fewer questions means higher usability.

What is the most useful feature of Vim? ›

Vim autocomplete

If you are typing a long word you used before in the file, this is a handy tool. Suppose you are writing an article that uses the word Antarctica multiple times. After you have used it once, the next time you can type just the first few letters. For example, you type Ant and then use Ctrl+P.

Which coding is best for data science? ›

12 Top Data Science Programming Languages in 2023
  • Python. Ranked first in several programming languages popularity indices, including the TIOBE Index and the PYPL Index, the popularity of Python has boomed in recent years and it remains the most popular programming language. ...
  • R. ...
  • SQL. ...
  • Java. ...
  • Julia. ...
  • Scala. ...
  • JavaScript. ...
  • Swift.

Can you do math in Vim? ›

That's right, Vim is a calculator, too! To use the expression register, press <ctrl-r>= from insert mode. Type some simple calculation like 1 + 2 and press <enter> and 3 will be inserted into your document.

Is Vim or nano easier? ›

In contrast, nano is simple to work with and can help you edit anything you want. If you're still not sure, I recommend starting using nano first. And, if you think that you need to get things done faster, and want more features, switch to Vim.

Does Linus Torvalds use Apple? ›

The State of Linux on Apple Silicon

Not just Linus Torvalds, but everyone has been impressed with Apple M1/M2 chips for their performance. In fact, he utilized the Macbook Air M2 to release Linux Kernel 5.19.

Does Linus Torvalds still code? ›

Torvalds explained: I don't know coding at all anymore. Most of the code I write is in my e-mails.

What IDE does Linux Torvalds use? ›

Linus Torvalds, creator of Linux, has been a user of MicroEMACS since his days as a student at the University of Helsinki.

Is Vim still being developed? ›

Vim - the ubiquitous text editor

It is included as "vi" with most UNIX systems and with Apple OS X. Vim is rock stable and is continuously being developed to become even better. Among its features are: persistent, multi-level undo tree.

Does Windows have a Vim equivalent? ›

Best Vim Alternatives for Medium-sized Companies

Microsoft offers Visual Studio Code, a text editor that supports code editing, debugging, IntelliSense syntax highlighting, and other features.

What is the equivalent of Vim in Ubuntu? ›

Nano, like vim and gedit, comes pre-installed with Ubuntu. You can customize it with a configuration file. Some good options to configure are the syntax highlights for your favorite languages, or various text manipulations like auto-indent or wrapping.

Should I learn Neovim or Vim? ›

Compared to Vim, Neovim uses Lua, an actual programming language, to configure and extend the editor. This makes writing plugins and configuring Neovim easier compared to Vim's native Vimscript. Neovim is a great place to start learning Vim today, as it has so many awesome plugins.

Is Vim best for C++? ›

Vim is not a feature-rich word processor like Microsoft Word and it is not a full-fledged IDE, such as the ones that we have listed as the top C++ IDEs for 2021. That said, it is a very powerful and widely-used editor and well worth discussing its capability for coding in C++.

Should I learn Vim or nano? ›

In contrast, nano is simple to work with and can help you edit anything you want. If you're still not sure, I recommend starting using nano first. And, if you think that you need to get things done faster, and want more features, switch to Vim.

Why is Vim better than Neovim? ›

Extensibility and Scripting: Vim has a powerful built-in scripting language called Vimscript, which allows users to customize and extend the editor's functionality. Neovim retains Vimscript compatibility but introduces additional scripting capabilities, such as support for Lua scripting.

Why Visual Studio Code is better than Vim? ›

"Comes by default in most unix systems (remote editing)", "Fast" and "Highly configurable" are the key factors why developers consider Vim; whereas "Powerful multilanguage IDE", "Fast" and "Front-end develop out of the box" are the primary reasons why Visual Studio Code is favored.

Which is easier to learn Emacs or Vim? ›

Emacs is easier to learn since it has a more natural interface (for users familiar with GUI-based text editors). Since Vim has different editing modes, beginners find it a little harder to learn.

Why Vim is better than emacs? ›

File editing is usually faster with Vim than with Emacs because of Vim's purposely speed-driven interface. For example, cursor movement can be controlled through the H, J, K, and L keys in the normal mode.

What is the best tool to learn Vim? ›

Learn keybindings using Vimtutor

For getting to grips with the keybindings I highly recommend using Vimtutor – Vim's inbuilt tutorial. The vimtutor can be accessed by simply typing Vimtutor into your terminal (if vim has already successfully been installed).

Top Articles
Latest Posts
Article information

Author: Jeremiah Abshire

Last Updated: 12/30/2023

Views: 6787

Rating: 4.3 / 5 (54 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Jeremiah Abshire

Birthday: 1993-09-14

Address: Apt. 425 92748 Jannie Centers, Port Nikitaville, VT 82110

Phone: +8096210939894

Job: Lead Healthcare Manager

Hobby: Watching movies, Watching movies, Knapping, LARPing, Coffee roasting, Lacemaking, Gaming

Introduction: My name is Jeremiah Abshire, I am a outstanding, kind, clever, hilarious, curious, hilarious, outstanding person who loves writing and wants to share my knowledge and understanding with you.