サーバに入るとviしか無い、という場面は今でも普通にあります。「入ったはいいが抜けられない」を卒業するための、最低限のviをまとめます。
viには2つのモード
ここが最初の壁です。viには、
- ノーマルモード … 移動や削除などの「操作」をする状態(起動直後はこれ)
- インサートモード … 文字を「入力」する状態
の2つがあり、切り替えて使います。文字が打てないのは、たいていノーマルモードのままだからです。
最低限の流れ
vi ファイル名で開く(ノーマルモード)iを押してインサートモードに入る → 文字入力できる- 入力が終わったら
Escでノーマルモードに戻る :wqで保存して終了
この「i で入る、Esc で戻る、:wq で保存終了」だけで、まず作業できます。
保存・終了のバリエーション
:w … 保存(終了しない)
:q … 終了
:wq … 保存して終了
:q! … 保存せず強制終了(変更を捨てる)
「抜けられない!」となったら、Esc を押してから :q! で脱出できます。
覚えておくと便利な操作(ノーマルモード)
dd … 1行削除
yy … 1行コピー
p … 貼り付け
u … 元に戻す(undo)
/文字列 … 検索(nで次へ)
gg / G … 先頭 / 末尾へジャンプ
行番号を出す
設定ファイルの編集で地味に効きます。
:set number
つまずきポイント
- 文字が打てない →
Escを押してi - 変な文字が入った →
u(undo)で戻す - 保存できない → 権限不足かも(
sudo viで開く)
まとめ
viは奥が深いですが、現場で困らないための最低ラインは「i で入力、Esc で戻る、:wq で保存、:q! で脱出」の4つです。まずここだけ確実にして、あとは使いながら少しずつ増やせば十分戦えます。