すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Vim エディターの使用

最終更新日:May 16, 2026

Vim のモードを切り替え、基本的な編集コマンドを使用し、検索、置換、コードのコメントアウトなどの一般的なタスクを実行します。

インストール

Vim は、ほとんどの Linux システムにプリインストールされています。vim --version を実行して、インストールされているバージョンを確認します。本トピックでは、Vim 8.0 を例として使用します。コマンドや機能は、他のバージョンでは異なる場合があります。

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Aug 10 2022 11:26:47)
Included patches: 1-1763
Modified by OpenAnolis Community
Compiled by OpenAnolis Community
Enormous version without GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_sgr         -tag_any_white
 ......

モードの切り替え

vim filename を実行して、ノーマルモードでファイルを開きます。ファイルが存在しない場合、Vim は新しいファイルを作成します。次の表は、各モードとモード間の切り替え方法について説明します。

image

モード

機能

モードの切り替え

ノーマルモード

(Normal Mode)

文字または行のコピー、貼り付け、削除を行います。

  • vim <filename> を実行して、ノーマルモードでファイルを開きます。

  • 他のモードでは、Esc を押してノーマルモードに戻ります。

挿入モード

(Insert Mode)

カーソル位置に文字を挿入します。

ノーマルモードで、i、I、a、A、o、O を押して挿入モードに入ります。

説明

挿入モードでは、-- INSERT -- が左下隅に表示されます。

置換モード

(Replace Mode)

カーソル位置の文字を上書きします。

ノーマルモードで、R を押して置換モードに入ります。

説明

置換モードでは、-- REPLACE -- が左下隅に表示されます。

ビジュアルモード

(Visual Mode)

テキストを選択します。コピー、置換、削除などのコマンドは、選択されたテキストにのみ適用されます。

ノーマルモードで、v を押してビジュアルモードに入ります。

説明

ビジュアルモードでは、-- VISUAL -- が左下隅に表示されます。

コマンドモード

(Command Mode)

文字列の検索と置換、行番号の表示、変更の保存、終了を行います。

ノーマルモードで、: を押してコマンドモードに入ります。

基本コマンド

ファイルを開く

  • vim filename:ノーマルモードでファイルを開きます。ファイルが存在しない場合、Vim は新しいファイルを作成します。

  • vim filename1 filename2:複数のファイルを開きます。

    • Vim は最初に filename1 を開きます。:w で保存した後、:bn を実行して filename2 に切り替えます。filename2:w で保存します。

    • :bp:前のファイルに切り替えます。

    • :ls:開いているすべてのファイルを一覧表示します。

  • :open filename3:コマンドモードで新しいファイルを開きます。まず、:w で現在のファイルを保存します。

カーソルの移動

  • ノーマルモード:

    • 上矢印 / k:上に移動します。

    • 下矢印 / j:下に移動します。

    • 左矢印 / h:左に移動します。

    • 右矢印 / l:右に移動します。

  • 挿入モード:

    • 矢印キーのみを使用します。

コンテンツの挿入

ノーマルモードで、i、I、a、A、o、O を押して挿入モードに入ります。

  • i:カーソルの前に挿入します。

  • I:行の先頭に挿入します。

  • a:カーソルの後に挿入します。

  • A:行の末尾に挿入します。

  • o:下に新しい行を開きます。

  • O:上に新しい行を開きます。

コピーと貼り付け

ノーマルモード:

  • yy:現在の行をコピーします。p で貼り付けます。

  • nyy:現在の行から n 行をコピーします。たとえば、2yy は 2 行をコピーします。

  • p:カーソルの下に貼り付けます。

  • P:カーソルの上に貼り付けます。

削除

  • ノーマルモード:

    • x:カーソル位置の文字を削除します。

    • dd:現在の行を削除します。p で貼り付けます。

    • dk:現在の行とその上の行を削除します。

    • dj:現在の行とその下の行を削除します。

    • dG:現在の行からファイルの末尾まで削除します。

    • nx:カーソルから n 文字を削除します。

    • ndd:現在の行から n 行を削除します。p で貼り付けます。

  • 挿入モード:

    • Delete を使用して文字を削除します。

検索

ノーマルモード:

  • /texttext を検索します。デフォルトでは、検索は大文字と小文字を区別します。Enter キーを押すと、一致する箇所がハイライト表示されます。

    • 大文字と小文字を区別しない検索を行うには、:set ignorecase を実行します。大文字と小文字を区別する検索に戻すには、:set noignorecase を実行します。

  • n:次の一致箇所に移動します。

  • N:前の一致箇所に移動します。

置換

  • ノーマルモード:

    • r:カーソル位置の文字を置換します。

    • R:連続置換のために置換モードに入ります。Esc を押して終了します。

    • cc:現在の行を削除して挿入モードに入ります。

    • :%s/oldtext/newtext/g:すべての oldtextnewtext に置換します。/g がない場合、各行の最初の一致のみが置換されます。

  • 挿入モード:

    • 古いコンテンツを削除して、新しいコンテンツを入力します。

アンドゥとリドゥ

ノーマルモード:

  • u:最後の変更をアンドゥします。

  • U:現在の行のすべての変更をアンドゥします。

  • Ctrl+r:最後にアンドゥした変更をリドゥします。

インデントと配置

  • ノーマルモード:

    • >>:現在の行を右にインデントします。デフォルトのインデント:8 スペース (1 タブ)。

    • <<:現在の行を左にインデントします。

  • コマンドモード:

    • :ce:行を中央揃えにします。

    • :le:行を左揃えにします。

    • :ri:行を右揃えにします。

コードのコメントアウト

説明
  • 大規模な置換を行う前にファイルをバックアップするか、アンドゥコマンド (u) を使用して変更を元に戻します。たとえば、sudo cp /etc/text.txt /etc/text.txt.bak を実行してファイルをバックアップします。

  • 誤ってコンテンツを削除しないように、Vim の正規表現構文を理解してください。Vim の正規表現では、/\/ としてエスケープする必要があります。Regex101 などのツールで練習してください。

  • プログラミング言語に合わせてコメント記号を調整してください。

  • ビジュアルモード:

    • 連続する複数行のコメントアウト

      1. カーソルを上下に移動して、コメントアウトする行を選択します。

      2. : を押してコマンドモードに入ります。Vim は自動的に :'<,'> を入力します。これは選択範囲を表します。

      3. 置換コマンドを入力します。たとえば、各行の先頭に # を追加するには、s/^/#/ を入力して Enter を押します。

    • すべてのコードをコメントアウト::%s/^/#/g は、すべての行の先頭に # を追加します。

  • 挿入モード:

    コメント記号を手動で入力して、コードをコメントアウトします。

保存と終了

  • 保存::w

  • 終了::q

  • 保存して終了::wq:x、または ZZ

  • 保存せずに強制終了::q!

  • 強制保存して終了::wq!

ドキュメントの暗号化

  • vim -x filename:暗号化してファイルを開きます。パスワードを設定してから、ファイルを保存すると暗号化が有効になります。次回以降にファイルを開くにはパスワードが必要です。

  • 暗号化の解除:

    1. :set key= を実行して、暗号化キーをクリアします。

    2. :wq で保存して終了します。

    3. vim filename でファイルを再度開きます。パスワードの入力は求められません。

シェルコマンドの実行

  • !pwd:現在の作業ディレクトリを表示します。

  • !ls:現在のディレクトリ内のファイルを一覧表示します。

マルチウィンドウ編集

  • vim -o filename1 filename2:2 つのファイルを別々のウィンドウで開きます。各ウィンドウを個別に終了します。

  • Ctrl-W w:次のウィンドウに移動します。

  • Ctrl-W W:前のウィンドウに移動します。

ヘルプ

  • ターミナルで vim --help を実行して、Vim コマンドの構文を表示します。

  • ノーマルモード:

    • :help:Vim のヘルプドキュメント (読み取り専用) を開きます。:q で終了します。

    • :help ii のヘルプを表示します。

    • :help yyyy のヘルプを表示します。

    • :set nu:行番号を表示します。

使用例

設定ファイルの変更

Locationexample.conf の 1 行目に挿入します。

  1. vim example.conf を実行して、ファイルを開きます。

  2. カーソルを最初の文字に置き、i を押して挿入モードに入ります。

  3. Location を入力して、Enter キーを押して改行します。

  4. Esc を押してノーマルモードに戻ります。

  5. :wq を入力して保存して終了します。

    example-1-1-2.gif

対象行へのコンテンツの挿入

#example.conf の 10 行目の先頭に挿入します。

  1. vim example.conf を実行して、ファイルを開きます。

  2. :10 を実行して、カーソルを 10 行目に移動します。

  3. i を押して挿入モードに入ります。

  4. # を入力します。

  5. Esc を押してノーマルモードに戻ります。

  6. :wq を入力して保存して終了します。

    example-2-1-2.gif

検索してコンテンツを挿入

example.conf で、LoadModule rewrite_module modules/mod_rewrite.soInclude conf.modules.d/*.conf の後に挿入します。

  1. vim example.conf を実行して、ファイルを開きます。

  2. 対象の行を検索します:/Include conf.modules.d/*.conf

  3. o を押して挿入モードに入ります。

  4. LoadModule rewrite_module modules/mod_rewrite.so を入力します。

  5. Esc を押してノーマルモードに戻ります。

  6. :wq を入力して保存して終了します。

    example-3-1-2.gif

コンテンツの削除

example.conf で、##Listen 12.34.XX:XX:80 行の先頭から削除し、Listen 80 行を削除します。

  1. vim example.conf を実行して、ファイルを開きます。

  2. 対象の行を検索します:/#Listen 12.34.XX:XX:80。カーソルが # の位置に移動します。

  3. x を押して # を削除します。

  4. カーソルを Listen 80 の行に移動し、dd を押して削除します。

  5. :wq を入力して保存して終了します。

    delete-1.gif

docker-compose.yaml の編集

docker-compose.yaml を作成して編集します。

vim docker-yaml-2.gif

複数行コメントの削除

  1. # が行の先頭にあり、その前にスペースまたはインデントがある場合を想定します。

    # This is a comment
        # Another comment
    # Yet another comment
  2. コメントを削除します。

    :%s/^\s*#\s\?//

    パターンの説明:

    • ^:行の先頭。

    • \s*:任意の空白文字 (インデントに対応)。

    • #:コメント記号。

    • \s\?# の後にある省略可能なスペース1つ。

    • //:一致した部分を空の文字列に置き換えます (削除)。

    このコマンドはファイル全体を処理します。結果:

    This is a comment
    Another comment
    Yet another comment

Vim のアップグレード

Vim のバージョンがニーズを満たさない場合は、次のコマンドでアップグレードします。

Alibaba Cloud Linux 3 および 2

sudo yum update vim

CentOS 7 および 8

sudo yum update vim

Fedora

sudo yum update vim

Ubuntu および Debian

sudo apt upgrade vim

openSUSE

sudo zypper update vim

トラブルシューティング

  • 終了時に「No write since last change」が表示される:

    • 原因:ファイルが変更されましたが、保存されていません。

    • 解決策::wq で保存して終了するか、:q! で変更を破棄します。

  • テキストを入力できない:

    • 原因:ビジュアルモードなど、挿入モード以外のモードになっている可能性があります。

    • 解決策:Esc を押してノーマルモードに戻り、その後挿入モードに入ります。

  • ファイルを保存できない:

    • 原因:現在のユーザーに書き込み権限がありません。/etc/hosts/etc/nginx/nginx.conf などのシステム設定ファイルには、スーパーユーザー権限が必要です。

    • 解決策 1:sudo vim example.conf でファイルを開きます。

    • 解決策 2::w !sudo tee % を使用して、管理者権限で保存します。または、sudo chown または sudo chmod でファイルの権限または所有権を変更します。

  • 「.swp」ファイルが存在する:

    • 原因:ファイルが別の Vim セッションで開かれています。

    • 解決策:他のターミナルでファイルを編集していないことを確認します。他のターミナルで編集していない場合は、.swp ファイルを ll -a で見つけて削除し、その後ファイルを再度開きます。または、:recover を実行して、スワップファイルから復元します。