Udemy

What Vim Is and Why You Should Learn It

A free video tutorial from Jason Cannon
Professional system administrator, consultant, and author.
Rating: 4.6 out of 5Instructor rating
22 courses
1,150,216 students
What Vim Is and Why You Should Learn It

Lecture description

Here is why you should use the Vi or Vim editor instead of any other editors such as Emacs or Nano.

Learn more from the full course

Vim Masterclass

Mastering the vi and Vim Editors on the Linux, Unix, Mac, and Windows Operating Systems

06:52:28 of on-demand video • Updated June 2026

Open Vim, edit files, save your work, and exit safely.
Use Normal, Insert, Visual, and Command-Line mode with confidence.
Move around files quickly using Vim’s core navigation commands.
Delete, copy, paste, and move text using Vim commands and registers.
Search, find, and replace text in one file or across many files.
"Think in Vim" by combining counts, operators, motions, and text objects.
Edit words, quotes, tags, blocks, and paragraphs with text objects.
Select, edit, indent, align, and change blocks of text with Visual Mode
Record and replay macros to automate tedious or repeated edits.
Work with multiple files using buffers, windows, and splits.
Customize Vim with settings, mappings, colors, syntax highlighting, and your vimrc file.
Edit plain text files quickly and efficiently using the Vim text editor.
English [Auto]
Them is an advanced text editor. The name Vim is a contraction of VI and improved. So. Vim is VI improved. Now, I'm not going to bore you with an entire history lesson, but quickly. VI is a text editor that was originally created for the Unix operating system. VI is actually short for visual and started out as the visual mode for the even older X line editor. Now, on most modern systems, Vim has replaced VI. Even if you think you're starting VI by running the VI command, for example, them is what actually starts. So long story short, Vim is a powerful text editor. As you can probably guess, I'm a huge fan of Vim. I've used it almost every single day since the late 1990s. Now I would like to take the next few minutes and share with you why I absolutely love them and why it's worth your time to learn how to use them as well. For starters, Vim is installed practically everywhere. I can't remember ever logging into a system and not being able to use the Vim editor. Most Linux distributions install it by default with other editors such as Nano or Emacs. They may or may not be available. If you're working on a system and your only editor choice is vim, then you need to at least be able to use it to make simple edits. Also, many programs rely on an external editor. By default. That external editor is vim in most cases. Typically, this can be overridden by setting an environment variable such as editor. However, if you execute one of these commands and find yourself looking at the Vim editor, you will be happy. You at least know how to make some simple edits and how to exit out of them. Just a couple of commands that rely on external editors such as Vim include crontab VI sudo and get. Them is amazingly powerful. If you're used to using Nano, then you're going to be blown away when you start learning just some of the most basic features available to you in Vim. There really is no comparison. 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 some complex edits fairly quickly and easily once you know how vim works. Just some of the powerful features include macros, registers, command, repetition, autocompletion, text objects, searching filters and global substitution. When you learn how to navigate within Vim, you'll find that you can use those same navigation key bindings in other programs such as Man and less. You can even configure your command line shell to use Vim style line editing features. For example, I use set space dash zero space VI for my bash shell so I can use vim keybindings to browse my command history and even edit the current command line. Even outside a command line environment, you can put your vim knowledge to use. For example, if you have Gmail keyboard shortcuts enabled, you'll find yourself using Vim commands, right? In Gmail, even other editors support Vim modes. Sometimes the mode is built in and other times you'll need to install a plugin first. Here are just a few editors where you can put your vim knowledge to use. They include Atom Eclipse Abiword, Kate Sublime, text, Notepad plus plus Xcode and many more. Keeping with the knowledge transfer theme Them is available on a number of different operating systems. Them is available on Linux, Unix, Mac Openvms and Windows. Let's say you want to learn Vim because you use Linux at work all day, but when you get home you love to use your Mac. Well that's no problem. Simply install vim on your Mac system and you can use the exact same text editor at work and at home. And honestly, once you learn how to really use vim, you'll want to use it everywhere. Not only can you run vim from the command line and use its textual user interface, you can run them in a graphical user interface mode suitable for graphical environments. The graphical user interface mode of vim has all the same features, you know, and love in Vim, in addition to features that you would expect from a graphical application. Those additional features include things like scrollbars, menus, a list of recently opened files, the ability to use a mouse and integration with the system clipboard. Contrary to what some people might think, syntax highlighting is more than just making your files look pretty. The most important thing about syntax highlighting for me is that it makes mistakes easy to spot. If you make an edit to a file and then the syntax highlighting disappears for that line, take that as a sign. You need to check your work. By the way, Vim includes syntax highlighting for more than just programming languages. If you're a Linux system administrator, then syntax highlighting for the C programming language might not be as useful to you as syntax highlighting for configuration files. By default, Vim includes syntax highlighting for Apache configuration files, deny host files, git config files, grub config files, Ldap conf login defs named and bind configuration files. Pam files, squid configuration files, SSH configuration files and sudoers just to name a few. If there isn't syntax highlighting available by default for a certain file type you find yourself working with often you can many times find plugins that provide such highlighting. For example, if you use Ansible for configuration management, you can install an Ansible configuration file syntax highlighting plugin. Even if you're not making changes to scripts, source code or configuration files. Having syntax highlighting improves readability and can make files easier to scan. Many Vim commands can easily be recalled using simple mnemonics. In my opinion, vim commands like I for insert d for delete and q for quit are a lot easier to remember than commands like F6 or Ctrl alt shift f that other editors use. Vim is like a language. Once you start to think in vim, you'll be able to easily start stringing together commands, just like you would string together words in a sentence before you can speak. You don't have to memorize every possible sentence. No, you just use sentence structures and plug in the appropriate words like a language. Vim has the concept of verbs, nouns or objects and adjectives. For example, to delete a word, you type the command D, which is an action and an object. If you want to perform a different action on that object, then use a different action Command, for example, to change the text of a word you would use CW to delete everything contained within a pair of quotes. You can use the command d. I quotation. Mark. This means delete inside the quotes. You have an action which is delete an adjective inside and an object quotation marks. If you want to delete three words, for example, you use the command D three, which literally means to delete three words. It's very language like there's no need to get hung up on any of these commands at this point. The idea here is just to demonstrate how easy it can be to think in Vim and how it's actually more efficient than manually learning dozens and dozens of commands for every little situation that you might encounter. Trust me that I get it. Reading dry technical documentation is boring. However, once you have a little exposure to vim, them's built in help system comes in really handy. You can use it to quickly look up commands, syntax and more, all without leaving the editor. You can even edit your file while referring to the documentation all on the same screen. The documentation that comes with vim is very well written and easy to use. I love using vim and once you get the hang of it, you're going to love it too. With vim, there is usually more than one way to accomplish the same task, so it can be fun to use your creativity when making edits. You can even make a game out of it by thinking how you can accomplish a given task with the fewest amount of keystrokes. Even if you're not intentionally trying to make Vim fun, it can really be a joy to use. One of the main reasons I love Vim is because it's so powerful and efficient. Getting some serious work done quickly is usually enough fun for me.