Linux viコマンドまとめ | Vimの3つのモードとビジュアルモード

公正取引委員会の広告文 Ver 3.1
公正取引委員会の広告文 Ver 3.2(モバイル専用)
テスト環境RHEL系AlmaLinux 9.8rootアカウント2026-10-07 確認

viを開いたのに文字が入力できない、抜け方が分からずウィンドウを閉じてしまう。サーバーを初めて触る人なら一度は経験することです。 Linuxのviコマンドは、ノーマルモードと挿入モードが分かれているため、今どのモードにいるかさえ分かれば、あとはキーをいくつか押すだけです。この記事では3つのモードとモード別のコマンドを表にまとめ、ブラウザ内の仮想サーバーでviを実際に打てるようにしました。

AlmaLinux 9.8ではviもvimもvim 8.2パッケージで、この記事の画面と文言はvimで開いたものです。インストールされていなければ[dnf -y install vim-enhanced]でインストールします。

Linux viコマンドの3つのモード切り替えの図 Linux viコマンド: 3つのモードの図

✅ viの3つのモード

viではモードによって同じキーが違う働きをします。ファイルを開くとノーマルモードで始まり、iで挿入モードに入って文字を打ち、Escで戻り、コロン[:]で最終行モードに入って保存して抜けます。

モード入るキー作業
ノーマルモードviを開くとこのモード · 他のモードからEscカーソル移動、削除、コピー、貼り付け、取り消し
挿入モードi a I A o O文字を入力。画面下に[-- INSERT --]
最終行モード:保存・終了・置換・行番号の設定。画面下に : が出る
ビジュアルモードv V Ctrl-v範囲を選んでから削除・コピー・一括入力

コンソールから開く方法は3つです。

コマンド説明
vi ファイル名ファイルを開いてノーマルモードで開始。ないファイルなら新しく作り[New]と表示
vi +20 ファイル名20行目にカーソルを置いて開く
view ファイル名= vi -R読み取り専用で開く。編集すると[W10]警告、保存すると[E45]

下の仮想サーバーで[vi httpd.conf]と打つとviが開き、左のメニューがvi内のコマンドに変わります。チップを押すとそのキーが画面に入り、キーボードで直接打っても構いません。

viコマンドシミュレーターvim 8.2
[root@server work]#
ブラウザの中だけで動き、実際のファイルには触れません。まずvi httpd.confでファイルを開くと、左のメニューがvi内のコマンドに変わります。チップを押すとそのキーが画面に入力され、キーボードで直接打っても構いません。:wqで保存して抜けるとcatで結果を確認でき、こじれたら[最初から]を押してください。表にある残りのキーは自分で打ってみてください。

✅ Linux viコマンドまとめ

🔲 カーソル移動

キー説明
h j k l← ↓ ↑ →1文字ずつ移動。矢印キーも可
0 · ^行頭(0)・行の空白でない最初の文字(^)
$行末
w · b · e次の単語の先頭・前の単語の先頭・次の単語の末尾
gg · Gファイルの最初の行・最後の行
20G:20 と同じ20行目へ。数字を変えれば好きな行へ
H · M · L画面の一番上・真ん中・一番下の行
Ctrl-f · Ctrl-b1画面下・上
Ctrl-d · Ctrl-u半画面下・上

🔲 挿入モードに入る

どのキーで入っても、入力が終わったらEscを押します。cw・cc・C・sは消しながらすぐ挿入モードに入るので、単語や行を直すときはxとiを別々に押すより速いです。

キー説明
i · aカーソルの前(i)・後ろ(a)に入力開始
I · A行頭(I)・行末(A)に入力開始
o · O下(o)・上(O)に空行を作って入力開始
cwカーソルから単語の末尾まで消して入力開始
cc行全体を消して入力開始
Cカーソルから行末まで消して入力開始
s1文字消して入力開始
Esc入力を終えてノーマルモードへ

🔲 削除・修正

dの後に移動キーを付けると、その範囲が消えます。dwは単語、ddは行、dGはファイルの末尾までで、前に数字を付けるとその回数だけ繰り返します。

キー説明
x · Xカーソルの文字(x)・カーソルの前の文字(X)を削除。3xは3文字
dwカーソルから単語の末尾まで削除
dd行を削除。3ddは3行
D= d$カーソルから行末まで削除
d0行頭からカーソルの前まで削除
dG現在の行からファイルの末尾まで削除
:6d · :6,10d6行目を削除・6〜10行目を削除
J下の行を現在の行の末尾につなげる
rカーソルの文字を次に打つ文字に置き換える
~大文字・小文字を切り替える
>> · <<行をインデント・インデント解除

🔲 コピー・貼り付け・取り消し

削除したものもコピーしたものと同じくpで貼り付けられるので、ddとpを続けて押すと行が下に移ります。uは何段階も遡り、Ctrl-rで取り消したものをやり直します。

キー説明
yy行をコピー。3yyは3行
ywカーソルから単語の末尾までコピー
p · Pコピーしたものを下(p)・上(P)に貼り付け。文字単位のコピーならカーソルの後ろ・前
:1 co 7:1 t 7 と同じ1行目をコピーして7行目の下に
:1,7 co 81〜7行目をコピーして8行目の下に
:1 m 81行目を8行目の下へ移動
u取り消し。何度も押すとさらに戻る
Ctrl-r取り消したものをやり直す
.最後の変更を繰り返す

🔲 検索・置換

置換は最終行モードで行います。範囲を指定しなければ現在の行だけ、[%]を付けるとファイル全体で、末尾にgがなければ各行の最初の1つだけが置き換わります。

キー説明
/文字列カーソルから下へ検索。末尾に達すると先頭から続けて[search hit BOTTOM, continuing at TOP]
?文字列カーソルから上へ検索
n · N同じ方向の次の結果(n)・逆方向(N)
*カーソルのある単語を下へ検索
:s/old/new/現在の行の最初のoldをnewに
:s/old/new/g現在の行のすべてのoldをnewに
:%s/old/new/gファイル全体のすべてのoldをnewに
:10,20s/old/new/g10〜20行目のすべてのoldをnewに
:%s/old/new/gc1つずつ確認しながら置換(y 置換・n スキップ・a すべて・q 終了)

🔲 保存・終了・行番号

キー説明
:w保存。終わると[36L, 1094B written]
:w ファイル名別名で保存。元のファイルはそのまま
:wq= :⁠x = ZZ保存して終了
:q終了。変更があれば[E37: No write since last change]
:q!保存せずに終了
:set nu · :set nonu行番号の表示・非表示

✅ Vimビジュアルブロックモードで列を一括コメントアウト

複数の行の先頭に同じ文字を入れるときは、行ごとにiを押す代わりにビジュアルブロックモードを使います。ノーマルモードでvは文字単位、Shift-vは行単位、Ctrl-vは列単位で範囲を選びます。

vimビジュアルモード3種類の図 vimビジュアルモード: 3種類の図

設定ファイルの一塊をまとめてコメントアウトする手順です。最初の行の先頭文字にカーソルを置いてCtrl-vを押し、jで下りながら行を選び、Iを押して#を打ってからEscを押します。

vimビジュアルブロックの実行
1. 最初の行の先頭文字でCtrl-vを押すと[– VISUAL BLOCK –]が表示されます。
vimビジュアルブロックモードでカーソルで行を選択
2. jで下りながらコメントを付ける行をすべて選びます。
vimビジュアルブロックの編集モードで入力
3. Iを押して#を打つと、最初の行にだけ表示されます。
vimビジュアルブロックモードで列の置換完了
4. Escを押すと、選んだ行すべてに#が付きます。

コメントを外すときも同じです。最初の行の#の上でCtrl-vで下まで選んでからxを押すと、選んだ列が一度に消えます。上のシミュレーターのvhost.confでそのまま試せます。

  • vi、vimコマンド
  • テキスト処理コマンド
  • viエディターの構造: ノーマルモード、挿入モード、最終行モードに分かれる

ℹ️ 提携について
当サイトのコンテンツにはアフィリエイトリンクが含まれています。訪問者がこのリンクを通じて商品やサービスを購入すると、当サイトは販売元から手数料を受け取ります。この過程において、購入者が支払う金額(イベント割引適用で金額が下がります↓)は上昇しません。掲載されている価格・割引・在庫情報は作成時点のものであり、実際とは異なる場合がありますので、ご購入前に販売元にて最終確認をお願いいたします。商品の選定および評価は独自の基準に基づいて行われており、手数料の支払いの有無は紹介順や評価内容に影響を与えません。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

人間であることを証明してください: 0   +   5   =