Vi is a text editor for Linux and Unix-like systems. An updated version of vi shipped with modern Unix system called vim (Vi IMproved) with upwards compatible to Vi. One can use vi to edit any plain text file. However, vim is very useful for editing programs.
Tutorial details | |
---|---|
Difficulty | Easy (rss) |
Root privileges | No |
Requirements | vi or vim running on Linux or Unix-like systems |
Time | 2m |
Procedure to save existing file to a new file under vi or vim
- There is no “Save as” dialog in vim or vi text editor. However, one can run the following command to save existing file.
- Choose a filename that does not exist yet. For example, foo.txt
- Now press ESC key
- Type, :w foo.txt (where foo.txt is the filename you chose to save as in vi or vim)
Let us see all vim / vi command in details.
vim save as command
Let us start vi/vim and create a new file named bar.txt. Open the terminal application and type the following command:
vim bar.txt
Press i to insert some text:
To save a file press ESC and :w. The last command will save the current file. Now let us say you want to save “bar.txt” as “foo.txt” using vim. The command syntax is as follows:
:w FILENAME
:x FILENAME
:x foo.txt
After saving your changes, you can quit Vim with (first press ESC):
:q
How do I save a file in other directory in vim/vi?
You must type the full path to the location where you want to save the file with the write command. For instance, save file in /home/vivek/backups/foo.txt:
:w /home/vivek/backups/foo.txt
Saving a file in Vim / Vi without root permission with sudo trick
Let us open a file called /etc/httpd/cyberciti.biz.conf:
$ vim /etc/httpd/cyberciti.biz.conf
To save /etc/httpd/cyberciti.biz.conf as “/etc/httpd/cyberciti.com.conf” in vim or vi as root user, type:
:w !sudo tee /etc/httpd/cyberciti.com.conf
Conclusion
Please note that if you are not editing an existing file, you can always provide a file name when you save. You can do this with :w filename. The same command act as “save as” command too.
🐧 0 comments... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |