How to Save a File in Vi / Vim Editor in Linux

It is true that learning Vi/Vim editor – a well-known text editor in the Linux ecosystem, is not as easy as learning Nano or Emacs, as it requires a little effort which is worthwhile.

[ You might also like: My Favorite Command Line Editors for Linux – What’s Your Editor? ]

Many people are afraid of learning it, but seriously, for no important reasons. In this short article, intended for Vi/Vim text editor newbies, we’ll learn a few basic commands; how to save a file after writing or modifying its content.

[ You might also like: 10 Reasons Why You Should Use Vi/Vim Text Editor in Linux ]

Install Vim on Linux Systems

In most of today’s Linux distributions, Vi/Vim editor comes pre-installed, if not install the full version of Vim (Debian systems provide vim-tiny with fewer features), using the system package manager as shown:

$ sudo apt install vim            [On Debian, Ubuntu and Mint]
$ sudo yum install vim            [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a app-editors/vim  [On Gentoo Linux]
$ sudo apk add vim                [On Alpine Linux]
$ sudo pacman -S vim              [On Arch Linux]
$ sudo zypper install vim         [On OpenSUSE]    

Note: To use Vim’s latest features, you do need to install Vim from the source.

How to Create Files in Vi/Vim

To create or open a file using vi/vim, run the following command, which will create a new file or open an existing file for editing.

$ vim file.txt
$ vi file.txt

Vi/Vim Edit Modes

The Vi/Vim editor comes with two modes: Command and Insert. In Command mode you can use keyboard keys to copy, paste, delete, navigate, and do a number of various tasks except entering text.

In Insert mode, you can write text to file, use the Enter key to go to a new line, and use the arrow keys to navigate between text. To get into Insert mode, press i and start entering text as shown.

Press 'i' to Insert Mode in Vim Editor
Press ‘i’ to Insert Mode in Vim Editor

How to Save Files in Vi/Vim Editor

Once you have modified a file, press [Esc] shift to the Command mode and press :w (save and continue editing) and hit [Enter] as shown below.

Save File in Vim
Save File in Vim

To save the file and exit at the same time, you can use the ESC and :x keys and hit [Enter]. Optionally, press [Esc] and type Shift + Z Z to save and exit the file.

Save and Exit File in Vim
Save and Exit File in Vim

Save Vim File Content to New File

To save the file content to a new file named newname, use ESC and :w newname or :x newname and hit [Enter].

Save Vim Content to New File
Save Vim Content to New File

From here, you can now move over to learn common Vi/Vim tips and tricks, understand the different modes and so much more:

Vi/Vim Keyboard Shortcuts

To understand more about the vi/vim editor, you need to create a new file and try learning yourself using the following common vi/vim keyboard shortcuts.

Vim Cheat Sheet
Vim Cheat Sheet

That’s it! In an upcoming article, we’ll show you how to exit the Vim text editor with simple commands. Remember to drop your comments via the feedback form below.

Tutorial Feedback...
Was this article helpful? If you don't find this article helpful or found some outdated info, issue or a typo, do post your valuable feedback or suggestions in the comments to help improve this article...

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

20 thoughts on “How to Save a File in Vi / Vim Editor in Linux”

Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.