HowTo: Save File in Vi / Vim Text Editor

I am new to Linux or UNIX like operating system. 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?

The vi or vim is a text editor which has three modes: command mode, input mode, and ex mode. To create a new file open a terminal and then type:
$ vi demo.txt
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:
To see list of your saved file, enter:
$ ls
$ cat demo.txt

To just save file and not to exit to shell prompt, press [Esc] key and type 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:

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

You can also quit, discard all changes by pressing [Esc], : (colon) and 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:

Command Description
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: SXI ADMIN

The author is the creator of SXI LLC 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.