How To Save a File in Vi / Vim Text Editor

last updated in Categories , ,

I am a new Linux or UNIX like operating system user. I just wanted to create a file called demo.txt and save & close it using vi text editor. How do I save a file using vi? How can I save the file in Unix?

Vim is a text editor. It is an open source software for Linux and Unix like systems. This page shows how to save a file in vi or vim.

How to save a file in Vi / Vim editor in Linux

The procedure is as follows:

  1. Open vim in Linux. For example, type: vim test.c
  2. Write code or programe
  3. Save file in vim by pressing ESC and ZZ
  4. This will save and exit in vim or vi text editor running on Unix or Linux

Let us see some more examples.

Save a File in Vim Text Editor

The vi or vim is a text editor who has three modes: command mode, input mode, and ex mode. When starting, vim or vi begins in command mode. One can press Esc key to return to command mode and issue various commands. To create a new file, open a terminal and then type:
$ vi demo.txt
How to Save a File in Vi or Vim Editor in Linux
vi / vim always begins in command mode. You can press [Esc] key anytime to return to command mode. Press i to insert text. To save and exit from vi / vim, press [Esc] key and type ZZ:
ZZ
To see list of your saved file use the cat command. Run:
$ ls
$ cat demo.txt

To just save file and not to exit to shell prompt, press [Esc] key and type w
w

vi ex Mode File Saving Commands

To get into the ex mode, press [Esc] key and then : (the colon). For example, to exit from vi saving changes, press [Esc], : (colon) and type wq:
:wq

Fig.01: vi / vim write and quit command in action
Fig.01: vi / vim write and quit command in action

You can also quit, discard all changes by pressing [Esc], : (colon) and q!.
:q!

Common Vi / Vim File Savings Related Commands (ex mode)

You need to press [Esc] key followed by the colon (:) before typing the following commands:

CommandDescription
q Quit
q! Quit without saving changes i.e. discard changes and quit file
r fileName Read data from file called fileName
w Save file and continue editing
wq Write and quit (save and exit)
x Same as wq command i.e. write and quit (save and exit)
w fileName Write to file called fileName (save as)
w! fileName Overwrite to file called fileName (save as forcefully)

See Vi editor command keys wiki page for more information.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Start the discussion at www.nixcraft.com

Historical Comment Archive

21 comment

  1. VIM is a very gibberish text editor. You open a file and change many things, then you try to save and exit. But you see all the changes you have made have gone.

  2. iam not able to save the file in vi editor after pressing Esc :wq! enter.It i sasking to press enter or continue

  3. i am studying MCA pg programme, and i would like to thank for your nixcraft website because i really pround it pls send more unix command through my gmail account

    Still, have a question? Get help on our forum!