This post will guide you how to exit or quit the vi or vim text editor when you open or edit a file using vi or vim in your Linux operating system. How do I quit from current vim text editor without saving changes in Linux.
- Open or create a File using vi or vim
- Exit Without Saving Changes using vi or vim
- Exit with Saving Changes using vi or vim
Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.Vim is often called a “programmer’s editor,” and so useful for programming that many consider it an entire IDE. It’s not just for programmers, though. Vim is perfect for all kinds of text editing, from composing email to editing configuration files.
Open or create a File using vi or vim
If you want to create a new file named mytest.txt
in your Linux system, and you need to type the following command from the command prompt:
$ sudo vim mytest.txt
then you need to press “i
” key in your keyboard to enter into the insert mode so that you can edit your file or add new content into the file.
Exit with Saving Changes using vi or vim
If you want to save the current file and exit it from the vi or vim text editor, and you need to press “ESC
” key firstly, and type “:wq
” command.
Note: the “w
” indicates that the file should be written and saved which will overwrite existing file. And the “q
” indicates that the vim editor should quit.
Exit Without Saving Changes using vi or vim
If you want to exit the vim text editor without saving changes, and you need to press “ESC
” key firstly, and then press “:q!
” command , then press Enter
key. the vim text eidtor will quit and all changes will not be saved.
If you want to get more help about vi or vim command, and you can run the following commands:
$ man vim
$ vim --help
Outputs:
devops@devops-ubuntu:~$ vim --help VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jun 06 2019 17:31:41) usage: vim [arguments] [file ..] edit specified file(s) or: vim [arguments] - read text from stdin or: vim [arguments] -t tag edit file where tag is defined or: vim [arguments] -q [errorfile] edit file with first error Arguments: -- Only file names after this -v Vi mode (like "vi") -e Ex mode (like "ex") -E Improved Ex mode -s Silent (batch) mode (only for "ex") -d Diff mode (like "vimdiff") -y Easy mode (like "evim", modeless) -R Readonly mode (like "view") -Z Restricted mode (like "rvim") -m Modifications (writing files) not allowed -M Modifications in text not allowed -b Binary mode -l Lisp mode -C Compatible with Vi: 'compatible' -N Not fully Vi compatible: 'nocompatible' -V[N][fname] Be verbose [level N] [log messages to fname] -D Debugging mode -n No swap file, use memory only -r List swap files and exit -r (with file name) Recover crashed session -L Same as -r -A start in Arabic mode -H Start in Hebrew mode -F Start in Farsi mode -T <terminal> Set terminal type to <terminal> --not-a-term Skip warning for input/output not being a terminal --ttyfail Exit if input or output is not a terminal -u <vimrc> Use <vimrc> instead of any .vimrc --noplugin Don't load plugin scripts -p[N] Open N tab pages (default: one for each file) -o[N] Open N windows (default: one for each file) -O[N] Like -o but split vertically + Start at end of file +<lnum> Start at line <lnum> --cmd <command> Execute <command> before loading any vimrc file -c <command> Execute <command> after loading the first file -S <session> Source file <session> after loading the first file -s <scriptin> Read Normal mode commands from file <scriptin> -w <scriptout> Append all typed commands to file <scriptout> -W <scriptout> Write all typed commands to file <scriptout> -x Edit encrypted files --startuptime <file> Write startup timing messages to <file> -i <viminfo> Use <viminfo> instead of .viminfo --clean 'nocompatible', Vim defaults, no plugins, no viminfo -h or --help Print Help (this message) and exit --version Print version information and exit
Conclusion
You should know that how to exit or quit from the vi or vim text editor with or without saving changes in your Linux system.