# # # # #

vi(vim)コマンド集

2019年1月17日 (木) 13:40時点におけるYosuke (ノート | 投稿記録)による版

起動・ファイルを開く

起動時は「コマンドモード」になっています。

キー入力 動作
vi ファイル名 対象ファイルを開く(複数ファイル可)
vi +n ファイル名 n 行目から対象ファイルを開く
vi -r ファイル名 壊れたファイルのリカバリ


入力、編集

「コマンドモード」でここのコマンドを入力すると「入力(挿入)モード」になります。

キー入力 動作
i カーソルの左から入力開始
I 行頭から入力開始
a カーソルの右から入力開始
A 行末から入力開始

なお、「入力(挿入)モード」で「ESC キー」を押すことで 「コマンドモード」に切り替わります。


保存、終了(コマンドモード)

キー入力 動作
ZZ vi を終了(内容が変更されている場合は保存)
:wq ファイルに保存、vi を終了
:#,# w #行目から#行目までを保存
:q vi を終了(内容が変更されいる場合は警告)
:q! vi を強制終了(内容が変更されていても保存しない)


バッファ(コマンドモード)

一度開いたファイルはバッファとして管理されます。

キー入力 動作
:ls バッファリストの表示
:b バッファ バッファを表示
:bn 次のバッファを表示
:bp 前のバッファを表示


カーソル移動(コマンドモード)

1 G (gg)
ファイル先頭
Ctrl-u
半画面戻る
H
画面最上に戻る
[n] k
n 行戻る
k、Ctrl-P
1行戻る
0
行頭
[n] h
n 文字戻る
h、BS
1文字戻る
カレントカーソル位置 l、SPACE
1文字進む
[n] l
n 文字進む
$
行末
j、Ctrl-N
1行進む
[n] j
n 行進む
L
画面最下に進む
Ctrl-d
半画面進む
G
ファイル末尾


削除、コピー、貼り付け (コマンドモード)

[n] +キー入力と書いているものは、n 文字(行)分の処理も可能です。

キー入力 動作
[n] x カーソル上の1文字削除
[n] X カーソルの左の文字を1文字削除
[n] d 目的語
d [n] 目的語
 目的語一覧:
w - カーソル位置から空白を含む単語の末尾まで削除
e - カーソル位置から空白を含まない単語の末尾まで削除
$ - カーソル位置から行末まで削除
d - 1行削除切り取り(カット)
[n] yy 1行バッファにコピー
p バッファ内のテキストを挿入(文字はカーソルの右、行はカーソルの下に挿入)
P バッファ内のテキストを挿入(文字はカーソルの左、行はカーソルの上に挿入)
:r [ファイル名] ファイルの中身を挿入する


検索(コマンドモード)

less や man コマンド内でも利用する標準操作です。

キー入力 動作
/<文字列> 文字列 を検索する(順方向)
?<文字列> 文字列を検索する(逆方向)
n 順方向へ検索する
N 逆方向へ検索する
% (,[に対して対応する ),] や } を検索


置換、変更(コマンドモード)

キー入力 動作
r カーソルの下の文字を置き換える
[n] c 目的語
c [n] 目的語
 目的語一覧:
w - 単語の一部を変更する
$ - 行の一部を変更する
:s/[old]/[new]

[old]を[new]に置換する

現在行の最初の old を new に置換する    :s/old/new
現在行の全ての old を new に置換する    :s/old/new/g
2つの # 間で語句を置換する              :#,#s/old/new/g
ファイルの中の全ての検索語句を置換する: :%s/old/new/g
'c' を加えると置換の度に確認を求める    :%s/old/new/gc


位置とファイル情報 (コマンドモード)

キー入力 動作
CTRL-g ファイル内での位置とファイルの状態を表示
[n] Shift-g ファイル内のn行に移動(nが無ければファイル末に移動)


ウインドウ操作 (コマンドモード)

キー入力 動作
:sp [ファイル] ウインドウを横に分割
:vs [ファイル] ウインドウを縦に分割
: q , :only カーソルのあるウィンドウ以外を全部閉じる
:new 空の横ウインドウを開く
:vnew 空の縦ウインドウを開く
Ctrl-w w 次のウインドウに移動
Ctrl-w p 前のウインドウに移動
Ctrl-w o 現在のウインドウ以外を閉じる


取り消し、繰り返し、再描画 (コマンドモード)

キー入力 動作
u 直前の操作を取りやめる
U 行全体の操作を取りやめる
Ctrl-R 取り消しの取り消し
. 直前の操作の繰り返し


外部コマンドの利用 (コマンドモード)

キー入力 動作
:! [外部コマンド] 外部シェルコマンドが実行
U 行全体の操作を取りやめる


その他 (コマンドモード)

キー入力 動作
:set number、 :set nu 行番号を表示
:set no number、 :set nonu 行番号の表示をやめる
:set showmode 現在のモードを表示
:set showmatch () や {} の対応を報告
:set ignorecase 大文字/小文字の区別なく検索
:set autoindent 自動インデントモード
:set noautoindent 自動インデントモードをやめる
:set all すべてのオプションを表示
:e [ファイル] ファイルを開く
:syntax on キーワードをハイライト表示する
:vert diffsplit [ファイル] 今のファイルと、他のファイルとの差分を取るコマンド
:Tutorial 30分程度のVi利用方法のチュートリアル


参考・引用

http://uguisu.skr.jp/Windows/vi.html

最終更新: 2019年1月17日 (木) 13:40
# # # # #