0% found this document useful (0 votes)
47 views1 page

Vim Beginner's Guide

This document provides an introduction to the Vim text editor for beginners. It discusses that Vim is a modal text editor based on the vi editor. It has three main modes: command mode, insert mode, and last-line mode. Command mode uses keyboard shortcuts for navigation and editing instead of text insertion. Insert mode allows normal text insertion. Last-line mode takes commands preceded by ":" for actions like saving. The document then gives an overview of basic movement commands like "h", "j", "k", "l" and editing commands in Vim.

Uploaded by

balzofaye
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views1 page

Vim Beginner's Guide

This document provides an introduction to the Vim text editor for beginners. It discusses that Vim is a modal text editor based on the vi editor. It has three main modes: command mode, insert mode, and last-line mode. Command mode uses keyboard shortcuts for navigation and editing instead of text insertion. Insert mode allows normal text insertion. Last-line mode takes commands preceded by ":" for actions like saving. The document then gives an overview of basic movement commands like "h", "j", "k", "l" and editing commands in Vim.

Uploaded by

balzofaye
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Learn how open source is advancing the UN's sustainability goals. Read the research.

ENGLISH Sign In

JOIN

9 MIN READ

Classic SysAdmin: Vim 101: A Beginner’s Guide


to Vim
THE LINUX FOUNDATION | 14 MAY 2022

This is a classic article written by Joe ‘Zonker’ Brockmeier from the Linux.com archives.
SIMILAR ARTICLES
For more great SysAdmin tips and techniques check out our free intro to Linux course.

Ever wanted to learn Vim, but weren’t sure how to start? No problem. We have you Classic SysAdmin: Absolute Path
covered! This will be the first of a four-part (possibly longer) series covering how to use vs Relative Path in Linux/Unix
Vim and where to start using the world’s best text editor.
Classic SysAdmin: How to Install
Note that this is an article explicitly for beginners new to Vim. If you’ve been using Vim an SSL Certificate on Linux
for a while, all of this should look entirely familiar–and you might wonder why some Server
topics aren’t covered. Patience. We’ll get to everything in due time, but there’s a lot to
cover! BROWSE CATEGORIES

What’s Vim, And Why Do I Want It? 2023

Cloud Computing
Vim is the editor of choice for many developers and power users. It’s a “modal” text
editor based on the vi editor written by Bill Joy in the 1970s for a version of UNIX. It Compliance and Security
inherits the key bindings of vi, but also adds a great deal of functionality and
extensibility that are missing from the original vi. Projects

What the heck do we mean by modal? When you’re using most word processors and Linux How-To
text editors, the alphanumeric keys (i.e., a through z, 1 through 9) are only used to input
Diversity & Inclusion
those characters unless they’re modified by a control key. In Vim, the mode that the
editor is in determines whether the alphanumeric keys will input those characters or Events
move the cursor through the document.
Open Source Best Practices
For example, many text editors and word processors require you to use the mouse to
click a menu item or icon, or use the Ctrl-s hotkey combination, to save a file. 2022

In Vim, you can save a file without your hands leaving the keyboard, and sometimes Open Source
without even leaving the home keys. From Vim’s insert mode, hit Escape and then :w.
Cross Technology
That’s all. More on that later.
Training and Certification
If that all sounds complicated, it’s not–but it can take a little getting used to, like driving
a manual transmission instead of an automatic. So, why would you want to learn Vim? LFX
Even though Vim is my favorite editor, I’ll be very blunt: you might not want to. If you’re
never going to do any system administration or heavy editing of text, and if you don’t Blockchain
want to invest any time in learning the capabilities that Vim has, then learning Legal
Vim might not be the best use of your time.
Newsletter
On the other hand, if do any of the following, you probably want to look into Vim:
Research
System administration
LF Research
Programming
Networking and Edge
Working with HTML, LaTeX, or other markup languages
Blog
Heavy editing of plain text files
Data Governance
Even though Vim isn’t as easy to use initially as standard GUI text editors like Gedit or
word processors like OpenOffice.org’s Writer, over a longer term you can become more Featured
productive using Vim. If you’re a touch-typist, you’ll find that your speed will improve
even more with Vim because your hands rarely need to leave the “home” keys–and LF Energy
you’ll only need to use the mouse if you choose to do so.
Open Mainframe
System administrators need to know at least a little Vim/vi to get by simply because it’s
OpenChain
the editor most likely to be on any given *nix system that you need to work on. Vi is
the lingua franca of system administration. System Administration

If you’re a programmer or working with structured markup languages like HTML, LaTeX,
DocBook, etc., Vim is the bee’s knees. It offers a number of features that I’ll cover in
later installments that make working with programming and markup languages much
easier.

You might be skeptical. I was too, 10 years ago when my boss insisted I learn Vim to
work on the company’s Web site. The first week was painful. The month after that was
okay. Within two months, I’d have sooner typed with my feet than to switch away from
Vim.

The Modes
Some people disagree on how many modes Vim actually has. I’m going to define three:
insert mode, command mode, and last-line mode. Let’s start with the default mode
you’ll see when you start up Vim–command mode.

When you run vim filename to edit a file, Vim starts out in command mode. This means
that all the alphanumeric keys are bound to commands, rather than inserting those
characters. Typing j won’t insert the character “j”–it will move the cursor down one line.
Typing dd will delete an entire line, rather than inserting “dd.”

To enter the insert mode, type i (for “insert”) and now the keys will behave as you’d
expect. You can type normally until you want to make a correction, save the file, or
perform another operation that’s reserved for command mode or last-line mode. To get
out of insert mode, hit the Escape key.

Once you press Escape, you’re in command mode again. What if you’d like to save your
file or search through your document? No problem, press : and Vim will switch to last-
line mode. Vim is now waiting for you to enter a command like :w to write the file or :q
to exit the editor.

If that all sounds complicated, it’s really not. It does take a few days to start training
your brain to move between the modes and memorizing the most important keys for
movement, commands, and so on. But once you start getting the hang of it, you’ll be
surprised by how fluid it is editing a file in Vim. Let’s walk through some of the most
common commands that you need to know.

The Basics Of Moving In Vim


The first thing you’ll want to learn is how to move around a file. When you’re in
command mode, you’ll want to remember the following keys and what they do:

h moves the cursor one character to the left.

j moves the cursor down one line.

k moves the cursor up one line.

l moves the cursor one character to the right.

0 moves the cursor to the beginning of the line.

$ moves the cursor to the end of the line.

w move forward one word.

b move backward one word.

G move to the end of the file.

gg move to the beginning of the file.

`. move to the last edit.

Here’s a handy tip: prefacing a movement command with a number will execute that
movement multiple times. So, if you want to move up six lines, enter 6k and Vim will
move the cursor up six lines. If you want to move over five words, enter 5w. To move 10
words back, use 10b.

Keep that tip in mind–you’ll find that prefacing other commands with a number can
come in handy as well.

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. Once you feel you’re getting the hang of it,
it’s time to try some editing.

Editing Vim Style


Now that you know how to move around a bit, let’s try editing. Move the cursor to the
beginning of a word. Now type x. What happened? You should have deleted the
character that the cursor was on. Want to undo it? No problem. Type u (for undo) and it
will be restored.

Want to delete an entire word? Move your cursor to the beginning of a word again. Use
dw. Note that this will only delete the word from the cursor on–so if you have the
cursor in the middle of a word, it will only delete from that point on. Again, u will undo
it. Note that Vim has multiple levels of undo, so you can undo the change before that
and the change before that, etc.

Want to undo your undo? Hit Ctrl-r. That will redo your last undo.

Again, here’s a longer list of the commands you’ll definitely want to know starting out:

d starts the delete operation.

dw will delete a word.

d0 will delete to the beginning of a line.

d$ will delete to the end of a line.

dgg will delete to the beginning of the file.

dG will delete to the end of the file.

u will undo the last operation.

Ctrl-r will redo the last undo.

You may have noticed that several commands combine a text operation and movement
key. gg takes you to the end of a file, and d is used to delete. Combining them gives you
something more powerful. Vim’s like that. If you’re working in Vim and think “hey, I
wonder if I can combine two things I know to make something easier,” the answer is
often (but not always) yes.

Let’s move on a bit and talk briefly about searching and replacing.

Searching And Replacing


Now that you know how to enter text, make some changes and so forth, it’s time to
learn how to use search and replace in Vim. It’s really pretty easy. If you want to search
through the document from command mode, use / followed by the text you want to
search for. So, if I want to search for “bunny” I can enter / and then bunny and hit enter.

If I want to find it again, I hit n. If I want to look for a previous instance of the text, I’ll use
N instead, which will search the opposite direction through the document.

Want to reverse the direction of your search? Use ? instead of / and Vim will move
backwards through the document. Using n and N as above will reverse the direction of
the search.

/text search for text in the document, going forward.

n move the cursor to the next instance of the text from the last search. This will
wrap to the beginning of the document.

N move the cursor to the previous instance of the text from the last search.

?text search for text in the document, going backwards.

:%s/text/replacement text/g search through the entire document for text and
replace it with replacement text.

:%s/text/replacement text/gc search through the entire document


and confirm before replacing text.

That’s all pretty easy, isn’t it? Now to move on to an important operation: Cutting and
pasting text.

Copying And Pasting


You’ve already learned to delete text. The last text that you’ve deleted is stored in the
buffer ready to be pasted back into the document. So if you’ve run dd and deleted an
entire line, you can now hit p or P to paste it back into the document. This goes for
single lines, multiple lines, and even entire documents.

Want to select text? In command mode, hit V and you’ll be able to move the cursor
using the arrow keys or the standard movement keys (h, k, j, l) to highlight text. This is
pretty easy, but can be slow. Want to copy entire lines at a time? Use V instead of v and
you’ll highlight entire lines at a time. Again, you can use the movement keys to highlight
additional lines.

Vim has a really cool trick as well. You can highlight in columns. Use Ctrl-v and you’ll be
able to highlight a column instead of an entire line. This can be useful when working
with some text files that have data in columns and you want to select an entire column,
but not an entire line.

When you’ve highlighted what you want, hit y and it will “yank” the text into the buffer
to be pasted later. So a usual paste operation might look like this:

Hit v to highlight some text. Then hit y to yank it into the buffer. Then move the cursor
where you want it, and use p in command mode. There you go–you’ve just pasted some
text!

The commands you most need to start out:

v highlight one character at a time.

V highlight one line at a time.

Ctrl-v highlight by columns.

p paste text after the current line.

P paste text on the current line.

y yank text into the copy buffer.

You’ve done enough editing for one day and you’re ready to pack it in. No problem.
Here’s how you can save the file and quit Vim.

Saving And Quitting


If you’re in insert mode, hit Escape. Then enter : and you’ll see a line at the bottom of
the screen with a cursor ready to take input.

To write the file you’re editing, enter w. (So, you’ll have :w.) That will write the file to the
existing filename. If you don’t have a filename or want to write out to a different
filename, use :w filename.

To quit Vim after you’ve finished, hit :q. Since Vim is your friend, it won’t just pop out on
you if you haven’t saved your file. It will say “no write since last change,” and suggest
that you add ! to override.

If you really want to quit, go ahead and use :q! to leave without being nagged.You can
also exit Vim using ZZ, which will save and quit the file. Again, all this might sound a bit
complex, but it really isn’t. It’s a bunch of smaller things to learn that when you add
them all up, make for a very powerful package.

For now that should be enough to get you started. Don’t fret, though. We’ll go through
more Vim usage next week, and keep working on Vim until you’re an expert.

Ready to continue your Linux journey? Check out our free intro to Linux course!

Stay Connected with the Linux Foundation

First name Last name Email*

SUBSCRIBE

PROJECTS NEWSROOM LF RESEARCH LFX PLATFORM

View All Projects Press Releases Latest Research LFX Home

ABOUT THE LINUX FOUNDATION Host Your Project Leadership & Advisory LFX Tools
Board
The Linux Foundation provides a neutral, trusted hub for Security LFX Community Forum
developers to code, manage, and scale open technology
projects. Create an LFX Account

About the LF RESOURCES EVENTS LF TRAINING

Leadership Blog Upcoming Events Training Home

Careers Publications Sponsor an Event Course Catalog

Corporate Members Open Source Guides Submit a Talk Training Resources

Diversity & Inclusivity Webinars Code of Conduct

Brand Guidelines Case Studies

Contact Us
Copyright © 2023 The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks
Store and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page.
Linux is a registered trademark of Linus Torvalds. Terms of Use | Privacy Policy | Bylaws | Antitrust Policy |
Good Standing Policy

You might also like