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
OR
$ 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.

If you read this far, tweet to the author to show them you care. Tweet a thanks
Aaron Kili
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

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

Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.