vi エディタのコマンド一覧

便利な vi エディタのコマンドを紹介します。


スポンサード リンク

編集するファイルを開く (シェルから起動)コマンド

vi  [ファイル名]
編集するファイルを開き、カーソルをn行目に移動する (シェルから起動)コマンド
vi +n  [ファイル名]
編集するファイルを開き、カーソルを最後の行に移動する (シェルから起動)コマンド
vi + [ファイル名]
編集するファイルを開き、指定した文字列へカーソルを移動する (シェルから起動)コマンド
vi +/文字列 [ファイル名]
編集するファイルを読み込み専用で開く(シェルから起動)コマンド
vi -R [ファイル名]
1文字左へ移動するコマンド
h 、BS、←
1文字下へ移動するコマンド
j 、Ctrl + N、↓
1文字上へ移動するコマンド
k 、Ctrl + P、↑
1文字右へ移動するコマンド
l 、SPACE、→
画面の最上行に移動するコマンド
H
ファイルの先頭行に移動するコマンド
gg
画面の中央行に移動するコマンド
M
画面の最下行に移動するコマンド
L
ファイルの最終行に移動するコマンド
G
ファイルの[行番号]行目に移動するコマンド
[行番号]G
先頭行へ移動するコマンド
0
行の最後へ移動するコマンド
$
1ページ下へ移動するコマンド
Ctrl + F
1ページ上へ移動するコマンド
Ctrl + B
半ページ下へ移動するコマンド
Ctrl + D
半ページ上へ移動するコマンド
Ctrl + U
vi a コマンド | 入力モードに移動 (カーソルの右から入力開始)するコマンド
a
入力モードに移動 (行の最後から入力開始)するコマンド
A
入力モードに移動 (カーソルの左から入力開始)するコマンド
i
入力モードに移動 (行の先頭から入力開始)するコマンド
I
カーソルの位置に空白行を挿入し入力モードに移動するコマンド
o
カーソルの上に空白行を挿入し入力モードに移動するコマンド
O
カーソル位置の行と次の行を結合するコマンド
J
カーソル位置の行と次の2行を結合するコマンド
3J
カーソル上の1文字を削除するコマンド
x
カーソルの左の1文字を削除するコマンド
X
現在の行を切り取り(削除してバッファにコピー)するコマンド
dd
複数行の切り取りを行うコマンド
[行番号]dd
カーソル上から右へ一語 (word) を切り取り(削除してバッファにコピー) するコマンド
dw
カーソル位置から右へ[文字]までを切り取り(削除してバッファにコピー)するコマンド
df[文字]
カーソル位置から行の最後までを切り取り(削除してバッファにコピー)するコマンド
d$
カーソル位置から行の先頭までを切り取り(削除してバッファにコピー)するコマンド
d^
[開始行番号]から[終了行番号]を切り取り(削除してバッファにコピー)するコマンド
:[開始行番号],[終了行番号d
下方向に[文字列]を検索するコマンド
/[文字]
上方向に[文字列]を検索するコマンド
?[文字]
下方向に次の文字を検索するコマンド
n
上方向に次の文字を検索するコマンド
N
カーソル上の文字を1文字置換するコマンド
r[1文字]
置換モードへ移動するコマンド
R
カーソルの文字を削除して挿入モードに移動するコマンド
s
現在の行内容をクリアして挿入モードに移動するコマンド
S
カーソル位置から右へ1語(word)を切り取り(削除してバッファにコピー) 、その後編集モードへ移動するコマンド
cw
文字をカットしつつ編集モードへ移行するコマンド
cf[1文字]
カーソル位置から行の最後までを切り取り(削除してバッファにコピー) し、その後編集モードへ移行するコマンド
C
ファイル内でユーザ確認無しで一気に置換する (ただし行単位では最初にマッチする文字のみ)コマンド
:%s/[置換え前]/[置換え後]
ファイル内でユーザ確認無しで一気に置換する (行単位でも全て置換)コマンド
:%s/置換え前/置換え後/g
ファイル内でユーザが確認しながら一気に置換する (行単位でも全て置換)コマンド
:%s/置換え前/置換え後/gc
カーソルの文字の大文字/小文字を変換するコマンド
~(チルダ)
現在の行をバッファにコピーするコマンド
yy
複数行をバッファにコピーするコマンド
[行数]yy
単語をバッファにコピーする(カーソルから右側に単語を検索)コマンド
yw
バッファの内容をペースト(貼付け)するコマンド
p
バッファの内容をカーソルの下にペースト(貼付け)するコマンド
P
UNDO(直前の操作を取りやめ)するコマンド
u
行に対する操作を全てUNDO(取りやめ)するコマンド
U
UNDO操作を取り消すコマンド
[Ctrl]とu
直線の操作を繰り返すコマンド
.(ピリオード)
ファイル名を指定して保存(セーブ)するコマンド
:w [ファイル名]
強制保存(セーブ)するコマンド
:w! [ファイル名]
既存のファイルに編集中の内容を追記するコマンド
:w >> [追加するファイル名]
指定したファイルの内容を現在のカーソルの位置に挿入するコマンド
:r [読み込むファイル名]
開いているファイルの一覧を表示するコマンド
:args
複数ファイルを開くコマンド
:args [ファイル名1] [フィル名2] <[ファイル名3] ・・・・・
次のファイルに移動する(複数ファイルオープン中)コマンド
:n
前のファイルに移動する(複数ファイルオープン中)コマンド
:prev
現在のファイルを保存直後の状態まで戻すコマンド
:e!%
ファイルを編集対象として開くコマンド
:e [編集するファイル名]
現在のファイルを保存(セーブ)し最初のファイルに戻る(複数ファイルオープン中)コマンド
:rewind
現在のファイルを保存(セーブ)せず最初のファイルに戻る(複数ファイルオープン中)コマンド
:rewind!
保存の必要性を確認しながらviを終了するコマンド
ZZ
ファイルに上書き保存(セーブ)してviを終了するコマンド
:wq
保存確認をしながら、viを終了するコマンド
:q
編集内容を破棄し vi を終了するコマンド
:q!
vi上でOS のコマンドを実行するコマンド
:![コマンド名]
viの中で実行した直前のコマンドを再実行するコマンド
:!!
viの中からシェルを起動するコマンド
:sh
コマンド結果を本文に挿入するコマンド
:r![コマンド]
本文に本日の日付を挿入するコマンド
!!date
挿入モードで文字列を自動的に変換するコマンド
:ab [元文字列] [変換文字列]
自動変換の登録を削除するコマンド
:unab [文字列]
登録済みの自動変換の一覧を表示するコマンド
:ab
ファイルの状況を表示するコマンド
Ctrl + G
表示画面をリロードするコマンド
Ctrl + L
viからexモードに移行するコマンド
Shift + Q
exモードからviへ移行するコマンド
vi
行番号を表示するコマンド
:set nu
行番号を非表示に設定するコマンド
:set nonu
現在のモード(コマンドモード/挿入モード)を画面下に表示するコマンド
:set shomode
現在のモード(コマンドモード/挿入モード)を画面下に表示しない(非表示)コマンド
:set noshomode
括弧を閉じた場合、対応する括弧を表示するコマンド
:set showmatch
対応する括弧を表示するモードを解除するコマンド
:set noshowmatch
検索で大文字と小文字を区別しない設定を行うコマンド
:set ignorecase
自動的にインデントする設定を行うコマンド
:set autoindent
自動的にインデントモードしない設定を行うコマンド
:set noautoindent
現在の全てのモードを表示するコマンド
:set all
ヘルプを表示するコマンド
:help


スポンサード リンク