-- Views
April 22, 26
スライド概要
はじめまして、ALJ Education Plus 株式会社のyukikoと申します。 IT教育支援や、DX推進が可能です。 ◆ スキル LPIC レベル2 AI / Python Splunk BI(データ可視化・分析) ◆ その他 新卒・未経験の学生向けに、エンジニア転職を応援する資料を趣味で作成しています。 もしよろしければご活用ください。 ◆IT研修講師をお探しの方は [email protected] にお気軽にお問い合わせください。 ※ALJ Education Plus 株式会社を通して、ご支援させていただきます。 ◆Zenn https://zenn.dev/yukiko_sapporo/articles/46c13e9f98b110
LPIC-101 v5.0 | 小豆 本対 応 vi の保存&終了 :x / :wq / ZZ の3通りを使い分ける 新卒・文系・未経験のための IT 研修 必ず Esc でコマンドモードに戻ってから実行 うさうさラーメン店方式
PROBLEM 今日のお題 ― B問題セット 問21 編集中のドキュメントを保存してviを終了するコマンドはどれですか。 1 Ctrl XX 2 Esc :x 3 Esc zz 4 Esc :wq 5 Ctrl :W 複数選択(正解は2つ) LPIC-101 | vi ― 保存して終了するコマンド 2 / 10
① この用語 viの3つのモード viは「モード切替式」 うさうさラーメン店で例えると コマンドモード 起動直後。カーソル移動や削除 入力モード i a o などで入る。文字入力可能 vi = 3階建ての厨房 1F=見張り / 2F=調理 / 3F=レジ ↓ exモード 「帰宅ボタン」はレジ(3F)にだけある : で入る。保存・終了・置換を実行 調理中(入力)に押しても反応しない ★ 保存・終了は必ず「Esc → :」 Esc = 見張り部屋(コマンド)に戻る : = レジに上がる(exモード) w q = 保存して退勤 入力モード中に :wq と打っても効かない LPIC-101 | vi ― 保存して終了するコマンド 3 / 10
② 簡単に :wq :x ZZ :q! 保存して終了する3通り write & quit 常に保存して終了(変更なしでも時刻更新) exit 変更があったときだけ保存して終了 大文字Zを2回 :x と同じ。exモードに入らず1発実行 quit! (強制終了) 保存しないで終了(参考・今回は対象外) ★ ポイント: :wq = 常に保存、:x/ZZ = 変更時のみ保存 LPIC-101 | vi ― 保存して終了するコマンド 4 / 10
③ 詳しく① :x と :wq の地味だが大事な違い どちらも「保存して終了」だが、変更がない場合の挙動が微妙に違う。 :x :wq 変更があった場合 変更があった場合 → 保存して終了 → 保存して終了 変更がなかった場合 変更がなかった場合 → 書き込まず終了 (更新日時はそのまま) → 必ず書き込む (更新日時が変わる) ZZ も同じ挙動 Esc → Shift+Z を2回。exモードを経由しない LPIC-101 | vi ― 保存して終了するコマンド make 等のビルドで影響 mtime更新で不要な再コンパイルが走ることも 5 / 10
③ 詳しく② ex モードで使う保存・終了コマンド一覧 コマンド 意味 保存 終了 :w 保存(終了しない) ○ — :q 終了(変更があれば拒否) — ○ :wq 保存して終了(常に) ○ ○ :x 保存して終了(変更時のみ) ○ ○ :q! 変更を破棄して終了 — ○ 別名で保存(終了しない) ○ — :w newfile ★ 両方 ○ = 保存して終了。それが :wq と :x(+ ZZ) の3兄弟。 LPIC-101 | vi ― 保存して終了するコマンド 6 / 10
③ 詳しく③ 選択肢の「それっぽい」ミス解説 Ctrl XX Ctrl は vi で保存終了ではない Esc zz 小文字のzzは別物 Ctrl :W コロンは Ctrl じゃなく直接入力 → vi は Ctrl+S(保存)の概念自体ない。Ctrl+X+S は Emacs の保存終了。 → ZZ(大文字2つ)が保存終了。zz(小文字)はカーソル行を画面中央に寄せるコマンド。 → : を入れるのに Ctrl は要らない。「Esc → :wq」が正しい手順。 ★ 迷ったら Esc を連打 → :wq Enter を叩く LPIC-101 | vi ― 保存して終了するコマンド 7 / 10
APPLY 原理原則で5択を斬る # コマンド 判定 理由 1 Ctrl XX × 誤り viには「Ctrl」を使う保存終了コマンドはない(Emacsの Ctrl+X+S と混同) 2 Esc :x ○ 正解 :x は exit(変更があれば保存して終了)。正解 3 Esc zz × 誤り 小文字の zz はカーソル行を画面中央に再描画。ZZ(大文字)なら正解 4 Esc :wq ○ 正解 :wq は write and quit(常に保存して終了)。正解 5 Ctrl :W × 誤り : は Ctrl なしで直接入力。また :w だけでは終了しない → 正解は 2番(:x)と 4番(:wq)。どちらも Esc で必ずコマンドモードへ戻ってから。 LPIC-101 | vi ― 保存して終了するコマンド 8 / 10
正解 ― 2つの保存終了コマンド ANSWER 正解 ② 正解 ④ Esc :x Esc :wq exit = 変更があれば保存して終了 write & quit = 常に保存して終了 無駄な mtime 更新をしない 実務で一番よく使われる 保存終了の操作フロー Esc → コマンドモードへ戻る LPIC-101 | vi ― 保存して終了するコマンド : exモードに入る → wq 保存&終了を宣言 → Enter 実行 9 / 10
④ 原理原則・一言でまとめ viの保存終了は Esc → : → wq(または x)→ Enter。迷ったら :wq :wq :x ZZ 常に保存して終了 変更時だけ保存 :x と同じ(1発) 全て「コマンドモード(Esc後)」で実行。入力モード中は効かない 面白きなき世を面白く ─ 石黒 友季子