In this article, we will cover some basic commands in the Vim editor. First, we look at what Linux and VIM editors are and why we use them, followed by basic commands in Vim editor starting from creating/editing a file, different modes, quitting the editor, saving the changes to the file, navigation in the editor, deleting lines, displaying and hiding line numbers, search and replace, and syntax highlighting along with the syntax of commands and screenshots.
Linux
Linux was developed by Linus Torvalds in 1991 as a hobby project. It is an open-source (source code that can be used by anyone freely) kernel that is most popular and widely used in the industry as well as in personal systems. There are various operating systems based on the Linux kernel, some of the popular Linux distributions are Ubuntu, CentOS, Red Hat, Debian, and Kali Linux.
VIM Editor
Vi Editor is a widely used text editor in Unix/Linux systems and is known for its efficiency and flexibility. Vi editor was developed in 1976 by Bill Joy and later in 1991, an improved version of Vi editor was released which is known as VI Improved (VIM).
1. Create/Edit a file
To create/edit a file in the Vim editor run the below command
Syntax:
vim filename
Example:
vim new.txt
Replace [filename] with the name of the file you want to create or edit. In this case, the filename is new.txt
Creating Files in Vim2. Changing modes in the Vim editor
There are Six modes in Vim editor.
- Editing/Insert Mode: To make any changes in a file in Vim editor user has to first enter editing/insert mode, Press 'i' or 'a' to enter editing/insert mode.
Entering in Insert Mode- Command Mode: To run any command in Vim editor user has to enter command mode, if you are in editing/insert mode Press Esc then ':' followed by the command. For example: set the number

3. Quit the Vim editor
To quit the Vim editor enter command mode and use the following command,
Command
| Description
|
---|
:q
| Quit the editor
|
:q!
| Quit without saving changes i.e. discard changes.
|
:wq
| Save the changes and quit the editor
|
Example/Screenshot:
Quitting Vim Editor4. Save the changes
To save the changes to the file in the Vim editor enter command mode and use the following command,
Command
| Description
|
---|
:w
| Write to file called [file_name] (save as).
|
:w!
| Overwrite to file called [file_name] (save as forcefully).
|
:wq
| Save the changes and quit the editor
|
5. Navigation in Vim editor
We have covered the navigation in Vim editor in a detailed article at GFG which you can check here.
Command
| Description
|
---|
k
| Moves the cursor up one line.
|
j
| Moves the cursor down one line.
|
h
| Moves the cursor to the left one-character position.
|
l
| Moves the cursor to the right one-character position.
|
6. Delete a line
To delete a single line Press the Esc key if you are in insert/editing mode, go to the file you want to delete Press 'dd' and then the line gets deleted.
To delete a range of lines use the following command,
Syntax:
:[start],[end]d
Example::3,5d In this command the editor will delete the lines from 3 to 5 including the extremes.
Example Screenshot:
Deleting a LineWe have covered a detailed article on this at GFG which you can check out here.
7. Search and Replace
To find and replace words in the vim editor we use substitute or:s command syntax of the command is as follows:
:[range]s/{pattern}/{string}/[flags] [count]
The command searches the pattern in [range] lines and replaces the [pattern] with [string]. If [range] is not mentioned then the command will replace the words in the current line with [string] only.
Example:
Searching and Replacing8. Display Line Numbers
To display absolute line numbers use any of the following commands,
Syntax:
:set number
or
:set nu
Example/Screenshot:
Displaying Line NumberTo display relative line numbers: In relative line numbers the current line is shown as 0 and the lines above and below are incremented by 1,
Syntax:
:set relativenumber
or
:set rnu
Example/Screenshot:
Displaying Relative Line NumberWe have covered a detailed article on this at GFG which you can check out here.
9. Hide Line numbers
To hide absolute line numbers use any of the following commands,
Syntax:
:set nonumber
or
:set nonu
Example/Screenshot:
Hiding Line NumberTo hide relative line numbers use any of the following commands,
Syntax:
:set norelativenumber
Alternatively,
:set nornu
We have covered a detailed article on this at GFG which you can check out here.
10. Syntax Highlighting
To Enable syntax highlighting type the below command and press Enter.
Syntax:
:syntax on
Screenshot:
Enabling Syntax HighlightingTo disable syntax highlighting type the below command and press Enter.
Syntax:
:syntax off
Screenshot:
Disabling Syntax HighlightingConclusion
In this article, we covered basic commands in Vim editor starting from creating/editing a file, different modes, quitting the editor, saving the changes to the file, navigation in the editor, deleting lines, displaying and hiding line numbers, searching and replace, and syntax highlighting along with the syntax of commands and screenshots. Thereafter we discussed some of the frequently asked questions (FAQs).
Similar Reads
Basic vi Commands
Text editors are essential tools for any programmer or computer enthusiast. One popular text editor that has been around for decades and is still widely used is vi (pronounced "vee-eye"). vi is a terminal-based text editor that offers powerful editing capabilities once you understand its basic comma
7 min read
CLI Commands in NPM
NPM, short for Node Package Manager, is the default package manager for NodeJS. It is a command-line utility that allows you to install, manage, and share packages or modules of JavaScript code. These packages can range from small utility libraries to large frameworks, and they can be easily integra
4 min read
Basic Shell Commands in Linux
Anyone using Linux should become an expert in the essential shell commands, as they form the backbone of working with the Linux terminal. These commands enable you to navigate the system, manage files, handle processes, and configure settings effectively. The Linux shell serves as an interface for u
5 min read
Gem Command Basics in Ruby
RubyGems is a package management framework for Ruby that simplifies the process of distributing, installing, and managing Ruby libraries. The gem command-line tool is the primary interface for interacting with this framework. The gem command is a fundamental tool in Ruby for managing RubyGems, which
7 min read
What is a Command?
A command typically refers to an order given to a computer program or operating system to perform a specific task. It's usually entered via a command line interface or a terminal. Commands can vary widely depending on the context, the operating system being used, and the specific program or utility
5 min read
Ansible - Ad hoc Commands
Ansible ad hoc commands are simple, one-time tasks you can do on other computers. They use a tool called /usr/bin/ansible. These commands are quick and easy, but you can't save them for later use. Why learn about ad hoc commands? They show how easy and powerful Ansible is. What you learn here will h
9 min read
Linux Commands
Linux commands are essential for controlling and managing the system through the terminal. This terminal is similar to the command prompt in Windows. Itâs important to note that Linux/Unix commands are case-sensitive. These commands are used for tasks like file handling, process management, user adm
15+ min read
MATLAB Commands
MATLAB is an interactive multi-programming language and numeric computing environment developed by MathWorks. MATLAB provides the Commands that will be used when the user wants to interact with any application using the command line interface. Following are the lists of commands used in MATLAB. Comm
3 min read
Batch Script - Echo Command
Batch script is a type of scripting language used in Windows operating systems to automate repetitive tasks, perform system administration functions, and execute a series of commands. The echo command is one of the most commonly used commands in batch scripting, used to display text or messages on t
8 min read
Chaining Commands in Linux
Chaining commands in Linux is a powerful technique that allows you to execute multiple commands sequentially or simultaneously through the terminal. This approach resembles writing short shell scripts that can be directly executed in the terminal, enhancing the efficiency of your workflow. By using
7 min read