In vi you have made changes you do not want. Which command leaves the editor and discards them?

LPIC-1 Exam 101-500, objective 103. GNU and Unix commands medium

Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.

Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.

How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.

The options

Not correct :w!

Wrong. :w! forces a write even to a read-only file. It saves the changes and does not exit.

Not correct :q

Wrong when the buffer is modified. Plain :q refuses to quit and warns that there are unsaved changes.

Not correct :wq

Wrong — that is the opposite. :wq writes the buffer to the file and then quits, making the unwanted changes permanent.

Correct :q!

Correct. The exclamation mark forces the action, so vi quits and throws away the unsaved buffer.

Why

The four commands to keep straight are :w (write), :q (quit, refused if modified), :q! (quit discarding changes) and :wq (write then quit). In vim :x and ZZ also write and quit, but they write only if the buffer was actually modified. Searching is separate again: /pattern searches forward, ?pattern backward, and n repeats the last search.

Where this comes from

Cited
LPI exam objective 103.8
What it says
Save and exit files in vi.

Practise this

Reading one question is not practice. The trainer will draw a short set from objective 103 and space the ones you get wrong.

Practise LPIC-1 Exam 101-500

More questions on this objective

All questions on GNU and Unix commands

Practise LPIC-1 Exam 101-500