1.03.5基礎
viでファイルを変更したが、その変更は不要になった。
ディスク上のファイルを変更せず、現在のエディタを終了する。
適切なコマンドはどれか。
× 不正解
:q!は未保存変更があっても書き込まずに終了する。!は保存を意味する記号ではない。
詳細解説
誤り
:w!変更を書き込むため、元ファイルを保持できない。
誤り。編集内容をディスクへ書き込もうとするため、元ファイルを変更しない条件に反する。
誤り
ZZ変更を保存してから終了する。
誤り。通常は変更を保存して終了し、破棄する目的とは逆になる。
誤り
:e!変更を破棄して再読込するが、エディタは終了しない。
誤り。変更の破棄はできるが現在のファイルを再表示して編集を続けるため、終了しない。
正しい
:q!未保存の変更を破棄して強制的に終了する。
正しい。qによる終了を!で強制し、未保存のバッファ変更を書き込まずに閉じる。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp); printf 'original\n' >"$tmp"; vim -Nu NONE -n -es "$tmp" +'normal ggccchanged' +q!; cat "$tmp"; rm -f "$tmp"期待される結果
original理解のポイント
- :q!は破棄終了
- :e!は破棄再読込
- !の意味はコマンドごとに確認
確認時の注意
- 確認環境: Vim 9.x互換のvi操作 / 一時ファイル
基礎のおさらい
Exコマンド
:を押すとコマンドラインへ移り、q・w・eなどファイルやセッションに関する命令を入力できる。
破棄前の確認
:q!や:e!は未保存変更を失うため、必要な編集が残っていないことを確認して使う。
問題IDKL-101-503
確認環境Vim 9.x互換のvi操作 / 一時ファイル
最終技術確認2026-08-13
誤り・権利侵害を報告