next up previous contents
Next: FreeBSDの第一歩 Up: vi 入門 Previous: その他の機能と使用法

viのコマンドモード早見表


0 …… 行の先頭に移動
a …… 挿入モードにはいる(カーソルの後)
A …… 挿入モードにはいる(行末に移動)
b …… 前の単語に戻る
B …… 前の単語に戻る(空白のみを区切りと解釈)
^b … 前のページにスクロール
c …… 次に続く移動コマンドの場所まで変更
C …… c$と同じ
d …… 次に続く移動コマンドの場所まで削除
D …… d$と同じ
^d … 画面を半分スクロール
e …… 単語の最後の文字に移動
E …… 単語の最後の文字に移動(空白のみを区切りと解釈)
f …… 行の中で指定された文字を末尾方向に探索
F …… 行の中で指定された文字を先頭方向に探索
^f … 画面を1ページ分スクロール
G …… 指定された行番号の行へジャンプ
^g … カーソルのある行の行番号を表示
h …… 左に1文字移動
H …… 画面の一番上の行に移動
i …… 挿入モードにはいる(カーソルの前)
I …… 挿入モードにはいる(行の先頭に移動)
j …… 下の行に移動
J …… カーソルのある行と次の行を連結
k …… 上の行に移動
l …… 右に1文字移動
L …… 画面の一番下の行に移動
m …… 行にマークを付ける
M …… 画面の中央の行に移動
n …… 前に行われた検索を繰り返す
N …… 前に行われた検索を、反対方向に繰り返す
o …… 挿入モードにはいる(カーソルの下に新しい行を作る)
O …… 挿入モードにはいる(カーソルの上に新しい行を作る)
p …… バッファの内容をカーソルの後(下の行)に挿入
P …… バッファの内容をカーソルの前(上の行)に挿入
r …… 1文字置き換え
R …… カーソルの場所から上書き訂正
^r … 画面の表示の乱れを直す(端末によっては^l)
s …… 1文字を別の文字列に置き換える
S …… 1行を別のテキストに置き換える ccと同じ
t …… 行の中で指定された文字を末尾方向に探索し、その前に移動
T …… 行の中で指定された文字を先頭方向に探索し、その後に移動
^t … タブの分だけ移動
u …… テキストの変更を取り消す
U …… カーソルのある行の変更を取り消す
w …… 次の単語の先頭に移動
W …… 次の単語の先頭に移動(空白のみを区切りと解釈)
^w … 挿入モードで入力中、入力中の単語を削除
x …… カーソルのある場所の文字を削除
X …… カーソルのある場所の前の文字を削除
y …… 次に続く移動コマンドの場所までバッファに記憶
Y …… yyと同じ
ZZ … セーブ終了
^z … 編集を一時的に中止し、バックグラウンドジョブにする
! …… 編集中のファイルにUNIXコマンドを適用
” …… この後にバッファの番号または名前を指定
$ …… 行の末尾に移動
% …… 対応する括弧に移動
& …… exコマンドを繰り返す
− …… 前の行の先頭に移動
+ …… 次の行の先頭に移動
  …… 大文字を小文字に、小文字を大文字に変換
/ …… 文字列の検索(テキストの下に向かって)
? …… 文字列の検索(テキストの上に向かって)
. …… 直前のテキスト変更を繰り返す
>及び< …… テキストをタブ分だけ右(左)シフト
_ …… 行の最初の空白でない文字に移動(0と微妙に違います)
: …… exモードになる

よく使うコマンドの組み合わせ


ddp ……… 行の交換
xp ………… 文字の交換
y$ ………… カーソルから行の最後までをバッファに記憶
cw ………… 単語1個の修正
n. ………… 特定の文字列を次々探索し、同じ修正を繰り返す
1G ………… ファイルの先頭に移動
dG ………… カーソルより後を全部消去する
:q! ……… 強制終了

よく用いられる環境設定


se nu ……… 行番号を付ける
se ai ……… オート・インデント機能
se sm ……… 括弧の対応を確認(showmatch機能)
se ws ……… 検索をファイルの終わりで打ち切らず先頭に戻って繰り返す
         (ラップ・スキャンを行う。初期状態として設定されている)
se report=? …… ?行以上の変更があった時にメッセージを出す。
se mesg …… talkなどのメッセージを受け付ける
se showmode …… 挿入モードであることを表示



Noriyo Kanayama