We all know how vital text editing is when managing Linux systems. The nano text editor has become more critical over the years. However, many sysadmins prefer the Vim text editor, and it is still the default on many systems.
This is the first article in a series that covers some essential Linux tools. My second article discusses: "The four things you must be able to do in nano." It is a companion article to this one.
When I taught Linux classes regularly, I found that many students were intimidated and overwhelmed by Vim's power and flexibility. I told these students to start with the basics and gain confidence by accomplishing the following four tasks:
- Create/open a file
- Edit the file
- Save changes
- Exit the file
This article is aimed at new Linux users.
Vim modes
Before we start on the specifics, I'll quickly review the Vim modes. The way I explain modes is this: Depending on the mode, the keyboard responds differently. If you're in Command mode, i issues the command to move to Insert mode. If you're in Insert mode, i enters a lowercase i character into the text.
List of modes:
- Command mode - issues commands to Vim (use Esc to get to Command mode)
- Execute mode - executes commands in Vim (use colon : to get to Execute mode)
- Insert mode - inserts text in a file (use i to get to Insert mode)
Note: There are many ways of entering Insert mode. I suggest the i character here because it's easy.
[ Readers also like: Vim: Basic and intermediate commands ]
Create or open a file
To create a new file by using Vim, type vim /path/filename
. For example, to create a new file named "distributions" in my Documents directory, I type the following:
# vim ~/Documents/distributions
The new file opens in Command mode.
I use the same process to open an existing file named "demo" in the Documents directory:
# vim ~/Documents/demo
Edit a file
Vim starts in Command mode, so I need to switch to Insert mode to add or edit content. There are many ways of switching to Insert mode. Most of them center around changing modes and positioning the cursor somewhere specific in the file. When you're just starting out, it's easier to simply remember i for Insert mode and manage the cursor position by using the arrow keys.
I'm in my distributions file, so I select i and begin to enter content:
Save a file
Now that I have added or modified content in my file, it's time to save my changes. I must leave Insert mode, so I press Esc to return to Command mode. I enter :w to save (write) my changes:
Exit Vim
To close the Vim text editor, I ensure that I'm in Command mode (press Esc if you aren't sure), and then select :q (quit):
Combine commands
Those of you with a little Vim experience realize that I could have combined the write and exit steps. To simultaneously save changes and exit Vim, enter the following :wq (write and then quit). Here's an example:
If you want to exit Vim without saving your changes to the file, you use the :q! key combination, like this:
[ Want to test your sysadmin skills? Take a skills assessment today. ]
Wrap up
There is a lot more to Vim than these simple steps. However, too many new users are intimidated and overwhelmed. Start slow with these four essential functions. If you prefer nano, then use it. At least if you connect to a system that does not have nano installed, you can accomplish some basic tasks using Vim.
Once you master these easy Vim tasks, you can investigate additional functions to become more efficient. Personally, I use Vim whenever possible on my Linux installations.
About the author
Damon Garn owns Cogspinner Coaction, LLC, a technical writing, editing, and IT project company based in Colorado Springs, CO. Damon authored many CompTIA Official Instructor and Student Guides (Linux+, Cloud+, Cloud Essentials+, Server+) and developed a broad library of interactive, scored labs. He regularly contributes to Enable Sysadmin, SearchNetworking, and CompTIA article repositories. Damon has 20 years of experience as a technical trainer covering Linux, Windows Server, and security content. He is a former sysadmin for US Figure Skating. He lives in Colorado Springs with his family and is a writer, musician, and amateur genealogist.
Browse by channel
Automation
The latest on IT automation for tech, teams, and environments
Artificial intelligence
Updates on the platforms that free customers to run AI workloads anywhere
Open hybrid cloud
Explore how we build a more flexible future with hybrid cloud
Security
The latest on how we reduce risks across environments and technologies
Edge computing
Updates on the platforms that simplify operations at the edge
Infrastructure
The latest on the world’s leading enterprise Linux platform
Applications
Inside our solutions to the toughest application challenges
Original shows
Entertaining stories from the makers and leaders in enterprise tech
Products
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Cloud services
- See all products
Tools
- Training and certification
- My account
- Customer support
- Developer resources
- Find a partner
- Red Hat Ecosystem Catalog
- Red Hat value calculator
- Documentation
Try, buy, & sell
Communicate
About Red Hat
We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.
Select a language
Red Hat legal and privacy links
- About Red Hat
- Jobs
- Events
- Locations
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit