vi コマンドの一覧

vi コマンドの一覧

2026年3月5日

区分コマンド説明
カーソル移動h
カーソル移動j
カーソル移動k
カーソル移動l
カーソル移動5l5文字右にカーソルを移動する
カーソル移動Shift + gファイルの最後の行の先頭に移動
カーソル移動ggファイルの先頭に移動
カーソル移動$行の最後に移動
カーソル移動0 ゼロ行の先頭に移動
カーソル移動_文字の先頭に移動
カーソル移動^行の最初の空白でない文字に移動
カーソル移動Gファイルの末尾に移動
カーソル移動Ctrl + fページアップ
カーソル移動Ctrl + bページダウン
カーソル移動Mカーソルを画面の中心に移動
実行例dd 移動 p dd 移動 p1行目と6行目を入れ替える。
ファイル再読み込み:e!編集を破棄してファイルの再読み込み
ファイル保存:wq現在編集中の内容を元のファイルに書き込んで終了
ファイル保存終了:w編集結果を保存
ヘルプ:help + エンターオンラインヘルプ表示
編集:UNDOu直前の編集状態に戻す
編集:検索/前方
編集:検索?後方
編集:検索n前方再検索
編集:検索N後方再検索
編集:削除x現在カーソルのある文字を削除
編集:削除3x現在カーソルのある文字を削除 カウントの使用
編集:削除Xカーソル直前の文字を削除
編集:削除Dカーソル以降を削除
編集:削除dw現在カーソルのある単語を削除
編集:削除Shift + dカーソルから行末までを削除
編集:削除dd現在カーソルのある行を削除(カット)
編集:削除100dd現在カーソルのある行を削除 カウントの使用
編集:置換s/xxx/yyy/xxxをyyyに置換
編集:置換:s/xxx/yyy/gカーソル行を全範囲として、xxxをyyyに置換
編集:置換:%s/xxx/yyy/gファイルを全範囲として、xxxをyyyに置換
編集:置換:%s/xxx/yyy/gcファイルを全範囲として、xxxをyyyに置換 確認しながら。
編集:ペーストpカーソル行の下にペースト
編集:ペースト3pカーソル行の下にペースト バッファーが3回ペーストされる。
編集:ペーストPカーソル行の上にペースト
編集:文字入力iインサートモードになり、カーソルの前に文字列を挿入可能
編集:文字入力aインサートモードになり、カーソルの後ろに文字列を挿入可能
編集:文字入力oカーソル行の下に一行空白行を挿入
編集:文字入力Shift + oカーソル行の上に一行空白行を挿入
編集:文字入力ESCインサートモードからコマンドモードに戻る
編集:文字入力Iカーソル行の先頭から入力開始
編集:文字入力Aカーソル行の末尾から入力開始
編集:文字入力rカーソル上の文字を置換
編集:文字入力R以降の入力を上書き状態
編集:文字入力Oカーソル行の上に一行空白行を挿入
編集:文字入力Jカーソル行と直下の行を連結
編集:ヤンクyyカーソル行をヤンク(コピー)
編集:ヤンク3yyカーソル行をヤンク(コピー) カウントの使用
モードについて起動直後コマンドモード
モードについてiコマンド -> インサート モード
モードについてESCインサート -> コマンド モード
モードについて:コマンド -> exラインエディタ モード
モードについてESCexラインエディタ -> コマンド モード
起動$ vi file.txt
終了:q!編集結果を破棄して強制終了
終了:wq file_name現在編集中の内容を指定されたファイルに書き込んで終了
終了:wq! file_name現在編集中の内容を指定されたファイルに上書きして終了