==================================================================== VI クイックリファレンス ==================================================================== 追加・挿入 a カーソルの右にテキストを追加 A カーソルのある行の最後尾へテキストを追加 i カーソルの左にテキストを挿入 I カーソルがある行の先頭にテキストを挿入 o カーソルがある行の下の行にテキストを追加 O カーソルがある行の上の行にテキストを挿入 カーソルの移動 h 1 文字左に移動 j 1 行下に移動 k 1 行上に移動 l 1 文字右に移動 H 現在の表示画面の左上端へ移動 M 現在の表示画面の中央の行へ移動 L 現在の表示画面の最下行へ移動 nG ファイル全体の最初から n 行目へ移動 1G ファイルの先頭へ移動 G ファイルの最下行へ移動 0 行頭へ移動 [return]次の行の左端へ移動 ^ 空白を除いた行頭へ移動 $ 行末へ移動 - 上の行の行頭へ移動 w 次の単語の先頭文字へ移動 b 前の単語の先頭文字へ移動 e 現在または次の単語の末尾へ移動 検索 /str 指定文字列 str の先頭の文字へ移動(順方向検索) fchr 行内の指定した 1 文字 chr へ移動(順方向検索) ?str 指定した文字列 str の先頭の文字へ移動(逆方向検索) Fchr 行内の指定した 1 文字 chr へ移動(逆方向検索) / 順方向再検索 ? 逆方向再検索 n 順方向次検索 N 順方向次検索 削除 x カーソル位置の 1 文字を削除 X カーソルの左の 1 文字を削除 dd カーソルのある行を削除(あとでペースト可能) dw カーソル位置からその語の最後までを削除 df chr カーソル位置から指定した 1 文字 chr までを削除 d$ カーソルのある位置から右側を削除 d^ カーソルのある位置から左側を削除 置換 r カーソル位置の文字を次に指定した文字で置換 R カーソル位置から複数個の文字を置換(上書き) s カーソル位置の 1 文字を複数個の文字で置換 S カーソル行全体を置換 cc カーソル行全体を置換 cw カーソル位置からその語の最後まで置換 cf chr カーソル位置から指定した 1 文字 chr まで置換 :s/正規表現/置換後文字列/[g] 現在の行での置換 :%s/正規表現/置換後文字列/[g] 全体の置換 :n,ms/正規表現/置換後文字列/[g] n 行めから m 行めまでを置換 そのほかの編集 . 修正を繰り返す(リドゥ) u 最後の修正を取り消す(アンドゥ) yw コピーする単語を指定 yy コピーする行を指定 p ペースト(行ペーストの場合は次の行にペースト) P ペースト(行ペーストの場合は前の行にペースト) 画面操作 \C-f 次の画面を表示 \C-b 前の画面を表示 \C-d 半画面分次を表示 \C-u 半画面分前を表示 \C-l 再表示 \C-g 表示中の画面の位置を表示 ファイル操作 ZZ vi の終了 :w[file]指定したファイルに保存する :wq ファイルに保存して vi を終了 :q vi の終了(ファイル未保存の場合はメッセージあり) :q! 強制終了(ファイルは保存されない) :e[file]別のファイルを編集する シェル :!cmd シェルコマンド cmd の実行 (適当なキーを押せば元の常態に戻る) !!cmd シェルコマンドを実行し,結果をカーソル位置に挿入する. :shell シェルへ制御を移す (\C-d)でもとの常態に戻る その他 :set number 行番号をつける :set nonumber 行番号を消す :r file 現在の行の次にファイル file を読み込む