Linux Basic: vi コマンド一覧

| Index

主な vi コマンド
コマンド概要
挿入コマンド群
A, aA: 行末に追加(Append) a: カーソル直後に追加
I,iI: 行頭に挿入(Insert) i: カーソル直前に挿入
O,iO: カーソルの上に1行加える(Open) o: 下に1行加える
カーソル移動コマンド群(1)
k, - 1行上へ移動
Lj1行下へ移動
h, [BS]1文字左へ移動
l, [SP]1文字右へ移動
0行頭へ移動
$行末へ移動
[Enter], +1行下の非空白文字へ移動
n|(縦棒)n文字目に移動
nGn行目へ移動。n省略時は最終行
カーソル移動コマンド群(2)
w現在位置の右にある単語の先頭にカーソルを移す
b現在位置の左にある単語の先頭にカーソルを移す
e現在位置の右にある英字または特殊文字が連続する最後の文字にカーソルを移す
W現在位置の右側にある空白で区切られた単語の先頭にカーソルを移す
B現在位置の左側にある空白で区切られた単語の先頭にカーソルを移す
E空白で区切られた単語の終りにカーソルを移す
%対応する括弧への移動。( と )、{ と } など(mpsオプションによる)
テキストの削除コマンド群
xカーソル下の 1 文字を削除(DEL)
Xカーソルの左側 1 文字を削除(BS)
ddカーソルのある行を削除
Dカーソルから行末までを削除
d 移動カーソル位置から移動コマンドで移動したところまでを削除
テキストの修正コマンド群
ccカーソル位置の行を、エスケープまでの入力文列と置き換える
rXカーソル下の文字をXに置き換える
C 移動カーソル位置から移動コマンドで移動したところまでを修正
~(チルダ)カーソル下を大文字/小文字を反転する
その他
u直前のコマンドとりけし
yy現在行のコピー
pペースト
.直前のコマンド繰り返し
J下の行を連結する
ZZ保存して終了
主な ex コマンド([Enter]は省略)
コマンド概要
:nn行目へ移動
:$最終行へ移動
:%s/str1/str2/gすべての文字列str1をstr2に置換
%はすべての行で、n,mとして行範囲を指定できる
g がなければ行の先頭から合致した文字列を1回だけ置換
:n,mdn行から、m行までを削除
:!cmdコマンドの実行
:r!cmdコマンドの実行結果のとりこみ
:r fileファイルの取り込み
:w file名前を付けて保存
:wq保存して終了
行範囲は、:n,m だけでなく、:.,/str/ のように現在行から、strが見つかるまでといった表記が可能です。


主な vi オプション
オプション(省略形)Type概要
autoindent(ai)T自動インデント
autowrite(aw)Tファイル移動時の自動保存
all-オプションの設定内容表示
hlsearch(hls)T検索結果の強調表示と保持
ignorecase(ic)T検索時に大文字小文字を区別しない
listT非表示文字(行末$、TAB ^I)の表示
matchpairs(mps)S対応するカッコの組み合わせ("(:),{:},[:],<:>")
number(nm)T業番号の表示
shiftwidth(sw)Nシフトコマンドで移動する文字数(8)
tabstop(ts)NTABで移動する文字数(8)
Type の凡例
T:トグルスイッチ
オプションが on/off のいずれかを持つもので、 set に続けてオプション名を指定すると on,
オプションの前に no をつけると off の意味になります。
例) :set noic , :set ignorecase

N:数値型
オプションに等号(=) をつけて値(数値) を指定します。
例) :set width=4

S:文字型
N と同様ですが、指定できる値は文字列になります。
例) :set bg=dark
vi 解説