Viの主要なコマンド一覧

この記事は2006年10月16日に書かれたものです。

viの代表的なコマンド一覧です。

viの起動

コマンド 説明
vi [file]指定したファイルを開く。ファイルが存在しない場合は新規にファイルが作成される。
vi [file1 … filen]指定したファイルを全て開く

viの終了

コマンド 説明
:qviを終了する。編集後に保存をしていない場合は警告が出る。
:wq編集した内容を保存してからviを終了する。Write と Quit の頭文字を取っている
ZZ「:wq」と同義。必ず大文字を指定する。また先頭にコロンは必要ない。
:q!編集した内容を保存せずviを強制終了する

コマンドモード

コマンド 説明
ESC(エスケープキー)コマンドモードへ切り替える。入力モードかコマンドモードか分からなくなったら、とりあえずエスケープキーを押せばコマンドモードになることを覚えておくと良い。

カーソル移動

1文字分

コマンド 説明
h左に移動する
j下に移動する
k上に移動する
l右に移動する
  • 「←↑↓→」の順番にキーが配置されている
  • 最近の vi(m) は矢印キーでの移動に対応しているので、そちらを利用する方が便利だが、古いシステムを担当する時のために知識として覚えておくと良い。

行内でのジャンプ

コマンド 説明
0現在カーソルがある行の行頭に移動する
$現在カーソルがある行の行末に移動する
現在カーソルがある行の行頭に移動する。ただしスペースは無視される

ファイル内でのジャンプ

コマンド 説明
:0ファイルの先頭に移動する
:$ファイルの末尾に移動する
:行数指定の行に移動する。「:150」と入力すれば150行目に移動する

画面のスクロール

コマンド 説明
Ctrl + F1画面分、下にスクロールする。(Forward)
Ctrl + B1画面分、上にスクロールする。(Back)
Ctrl + D0.5画面分、下にスクロールする。
Ctrl + U0.5画面分、上にスクロールする。
Ctrl + E1行分、下にスクロールする。
Ctrl + Y1行分、上にスクロールする。

入力モードへ切り替え

コマンド 説明
i現在カーソルがある位置から入力を開始する
Iカーソルがある行の行頭から入力を開始する
aカーソルがある位置の後ろから入力を開始する
Aカーソルがある行の行末から入力を開始する

行の挿入(追加)

コマンド 説明
o(小文字のオー)現在カーソルのある行の下に1行追加し、入力モードに切り替える
O(大文字のオー)現在カーソルのある行の上に1行追加し、入力モードに切り替える

削除

コマンド 説明
xカーソル位置の文字を1文字削除する
ddカーソルのある行を削除する
行数dd指定した行数を削除する。「5dd」なら5行を削除する。カーソルのある位置から下に向かっての行数となる。
d0カーソル位置から行頭までを削除する
d$カーソル位置から行末までを削除する

コピー、ペースト

コマンド 説明
p貼り付けを行う。行単位の貼り付けの場合は、カーソル行の下に貼り付けを行う。「put」の略称。
yyカーソルのある行をコピーする。viではコピーのことを「ヤンク(yank)」という。
y$カーソル位置から行末までをコピーする

検索

コマンド 説明
/検索する文字列カーソル行から下に向かって検索を行う
?検索する文字列カーソル行から上に向かって検索を行う
n検索を実行後、次の検索候補がある場合は、その結果に移動する。「?」で検索が実行された場合、上に向かって進んでいく。
N「n」と同じ機能を持つが、逆方向に動作する。

置換

コマンド 説明
:s/検索文字列/置換文字列/gカーソルのある行にある検索文字列を、すべて置換文字列で置き換える。「g」をつけないと最初に見つかった一つだけを置換する。また検索文字列には正規表現を使用することができる。
:%s/検索文字列/置換文字列/gファイル中にある検索文字列を、すべて置換文字列で置き換える。

やり直し

コマンド 説明
u直前の操作を取り消す。何度も押すと、押した回数だけ過去にさかのぼって復元する

ファイルを読み込み直す(復帰)

コマンド 説明
:e!現在の編集内容をすべて破棄し、ファイルを読込直す

関連書籍

failed to fetch data: unkown error

failed to fetch data: unkown error

failed to fetch data: unkown error

コメント

コメントを入力. Wiki文法が有効です:
V H C L V