作成日 : 2007/10/25 H.Naito
更新日 : 2007/11/01 H.Naito




起動

コマンド 機能
vi ファイル名 指定したファイルを開く
vi +n ファイル名 n行目から表示する
vi + ファイル名 ファイルの最後1画面を表示する
vi +/文字列 ファイル名 文字列( パターン ) のある行から表示する
vi -r ファイル名 システムダウンなどで壊れたファイルを復旧する

入力

コマンド 機能
a カーソルの右にテキストを入力する
A 現在行の行末にテキストを入力する
i カーソルの左にテキストを入力する
I 現在行の先頭にテキストを入力する
o 現在行の下に1行空けてテキストを入力する
O 現在行の上に1行空けてテキストを入力する

カーソル移動

コマンド 機能
h ( BackSapce キー ) 1文字左へ移動 ( ← キーと同 )
j ( Ctrl + n キー ) 1文字下へ移動 ( ↓ キーと同 )
k ( Ctrl + p キー ) 1行上へ移動 ( ↑ キーと同 )
l ( スペースキー ) 1文字右へ移動 ( → キーと同 )
H 画面の最上行へ移動
M 画面の中央行へ移動
L 画面の最下行へ移動
G ファイルの最終行へ移動
nG ファイルの n行目へ移動
1G 先頭行へ移動 ( 各行のカラム位置は、テキストの先頭になる )
0 現在行の先頭へ移動
Return キー 下の行の先頭へ移動
^ 空白を除いて現在行の先頭へ移動
$ 現在行の行末へ移動
- 上の行の先頭へ移動
w (W) 次の単語の先頭へ移動
e (E) 現在または次の単語の末尾へ移動
b (B) 前の単語の先頭へ移動
nパイプ nカラム目へ移動

削除

コマンド 機能
x カーソルのある 1文字を削除
X カーソルの左の 1文字を削除
dd 現在の行を削除 ( 別の場所へ移動可能 )
dw カーソル位置からその語の最後までを削除
df 字カーソル位置から指定した字までを削除
d$ カーソル位置から行の最後までを削除
d~ カーソル位置から行の先頭までを削除

置換

コマンド 機能
r カーソルのある 1文字を別の 1文字で置換
R カーソル位置から Esc キーが押されるまでの文字を置換
s カーソルのある 1文字を別の文字列で置換
S ( cc ) 現在行を別の文字列で置換
cw カーソル位置からこの語の最後までを置換
cf文字列 カーソル位置から指定した文字列までを置換
C ( c$ ) カーソル位置から行の最後までを置換

カット & ペースト

コマンド 機能
yy ( Y ) 現在行をバッファにコピー
yw 単語をバッファにコピー
p バッファ内のテキストを挿入 ( 文字、単語はカーソルの右に、行は現在行の下に挿入される )
P バッファ内のテキストを挿入 ( 挿入位置が p と逆になる )
ddp dd で削除された行はバッファにコピーされる ( 行が入れ替わる )

ファイル操作

コマンド 機能
:w 現在ファイルに保存
:W ファイル名指定ファイル ( 現在ファイルと異なるもの ) に保存
:w! [ファイル名] 書き込みを強行 ( :w で警告されたとき )
:行1, 行2w ファイル名 行1 から 行2 までのテキストをファイルに書き込む
:w >> ファイル名 現在ファイルの最後に書き加える
:r ファイル名 現在行の次の行にファイルを読み込み、挿入する
:r 現在行の次の行に現行ファイルを読み込み、挿入する
:n 複数個のファイル編集時、次のファイルを編集対象とする
:args 編集ファイルの一覧を表示する
:e ファイル名 指定ファイルを編集対象とする
:e# 1つ前の編集ファイルに戻る

終了

コマンド 機能
ZZ vi を終了する ( 内容が変更されているときはファイルに保存 )
:wq ファイルに保存して vi 終了
:q vi を終了する ( 内容が変更されているときは警告あり )
:q! vi の強制終了。内容はファイルに保存されない

画面移動

コマンド 機能
Ctrl + f キー 1画面進む。数字を付けるとその数だけ繰り返される
Ctrl + b キー 1画面戻る
Ctrl + d キー 半画面進む
Ctrl + u キー 半画面戻る
Ctrl + y キー 1行進む
Ctrl + e キー 1行戻る
z 現在行を画面最上行に位置付ける
z. 現在行を画面中央に位置付ける
z- 現在行を画面最下行に位置付ける
Ctrl + g キー 表示中の画面の位置を表示する

検索

コマンド 機能
/文字列 文字列を順方向に検索する
?文字列 文字列を逆方向に検索する
n 検索を繰り返す
N 現在と反対方向に検索する
f文字列 行内の指定された文字列を順方向に探して移動する
F文字列 行内の指定された文字列を逆方向に探して移動する
; f、F を繰り返す
, 前の f、F に戻る

文字列の検索置換

入力書式 解説
開始行, 終了行s/文字列1/文字列2/オプション 指定された範囲内で、文字列1 を探し、文字列2 に置き換える。範囲指定には、開始行、終了行を行番号によって明記する方法や、「.」( 現在行を表す ) や「$」( ファイルの最後を表す ) などを行番号の代わりに使う方法などがある。また、「開始行, 終了行」を入力する代わりに「%」を入力してファイル全体を範囲として指定することもできる

オプション 機能
g 1行に対象文字列が複数あるとき、すべて置換する。省略時は行の最初の文字列のみを置換
c 文字列置換時に確認の問い合わせを行う

行の連結

コマンド 機能
J 現在行と次の行を連結する
nJ 現在行から n行を連結する

UNDO

コマンド 機能
u 直前の修正を取り消す
U 現在行に対し行ったすべての修正を取り消す

シェル

コマンド 機能
:!コマンド名 シェルコマンドを実行する
% 現在編集中のファイル名に置き換わる。これで現在編集中のファイルがコンパイルされる
:!! 直前のシェルコマンドを反復する
!!コマンド名 シェルコマンドを実行し、結果をカーソル位置に挿入する
:sh シェルへ制御を移す ( csh も使える )。 Ctrl + D で元の状態に戻る

vi、ex 間の移行

コマンド 機能
Q vi から ex へ移行
:vi ex から vi へ移行

括弧対応確認

コマンド 機能
% ( や { を位置付けてから % キーを押すと、対応する ) や } にカーソルが移動する

画面の再表示

コマンド 機能
Ctrl + l キー 画面を再表示する ( ほかのユーザからの割り込みなどで画面表示が壊れたときなどに使用 )

オプション設定

コマンド 機能
:set オプション名 オプションを設定する
:set no オプション名 オプション設定を解除する
:set オプション名=数値 オプションの値を設定する
:set all 使用できるオプションと、その状態の一覧を表示する

マクロ設定

コマンド 機能
:map 記号 機能 マクロの定義を行う
:unmap 記号 マクロの定義を解除する
:map 現在定義中のマクロの一覧を表示する


最終更新:2007年11月01日 17:02