viについて


viはUnix/Linux系のOSに実装されているスクリーンエディタであり、おそらく一番有名なエディタです。現在ほぼ全てのディストリビューションで標準で利用できるのはvim(Vi IMproved)のパッケージですが、ここではviとしてできる操作を提供します。
vimとはviの模倣から始まり改良を重ねて機能面でviに勝ったエディタのことです。

viはモードという概念があり操作は全てコマンドを用いたキー操作で行います。コマンドモード入力モードで操作が変わり、起動時はコマンドモードになっています。

入力モードへは「a,i,o,A」で移行し文字の入力が可能になります。逆にコマンドモードへ移行する場合は「Esc」を押せばよくて、このモードの切り分けによりキー操作だけで多数の機能を実行できるようになっています。

操作性にかなり優れていてemacsより少ない操作で機能を実現できるので、素人から玄人まで幅広くおススメできるエディタです♪

コマンド一覧

viを起動する

コマンド動作
vi/view 新規でviを起動する
vi ファイル名 ファイルを開く
view ファイル名 ファイルを読み取り専用で開く(強制上書き可能)

viを終了する

コマンド動作
:q vi終了(更新がある場合は警告を出し動作はキャンセルされる)
:wq ファイルを上書きしてviを終了
(読み取り専用の場合は警告が出て動作はキャンセルされる)
:q! 強制的にviを終了(ファイル保存しない)
:w! 強制的に上書き保存する
ZZ vi終了(内容が変更された場合は保存して終了)
読み取り専用時は警告が出る

モード移行

コマンド動作
ESC コマンドモードへ移行
i カーソルの左隣へ挿入
I カーソル行の先頭に挿入
a カーソルの右隣へ挿入
A カーソル行の末尾に挿入
o カーソル行の下を1行ずらして挿入
O カーソル行を下に1行ずらして挿入

カーソル操作

コマンド動作
h 1文字左へ
j 1行下へ
k 1行上へ
l 1文字右へ
H 画面最上行の左端へ
M 画面中央行の左端へ
L 画面最下行の左端へ
nG n行目へ移動(nは数字を入れる)
^ 行頭(行頭が空白の場合は空白部分の右)へ
$ 行末へ
- 1行上の左端へ
b 左隣の単語の先頭へ
w 右隣の単語の先頭へ
e 単語の末尾へ
・カーソル位置が単語の途中の場合はその単語の末尾
・カーソルが単語末尾なら次の単語の末尾
・カーソルが行末なら次行先頭の単語の末尾

文字列操作

コマンド動作
x カーソル上一文字削除
X カーソル左一文字削除
dw カーソル位置から現単語末尾まで削除
df 文字 カーソル位置から指定文字まで削除
d^ カーソル位置から左削除
d$ カーソル位置から右削除
dd カーソル行削除
yw カーソル位置から単語をコピー(半角英数字が対象)
yy カーソル行をコピー
p カーソルの右隣にペースト
(文字削除コマンドで切り取ったものもペーストできる)
yyでコピーした場合はカーソルから1つ下の行に挿入される
行削除コマンドで切り取ったものも挿入できる
P カーソル箇所にペースト
(文字削除コマンドで切り取ったものもペーストできる)
yyでコピーした場合はカーソルから1つ下の行に挿入される
行削除コマンドで切り取ったものも挿入できる

画面操作

コマンド動作
Ctrl + f 1ページ分下に画面を移動
Ctrl + b 1ページ分上に画面を移動
Ctrl + d 半ページ分下に画面を移動
Ctrl + u 半ページ分上に画面を移動
Ctrl + l 画面を再描画(スクリーンがかすれた時に使う)
Ctrl + g "ファイル名" カーソル位置行/全体行 --全体の何%--
上記形式で現在のカーソル情報を出力する。

その他

コマンド動作
.(ドット) 直前のコマンドの繰り返し
u 直前に実行したコマンドの取り消し。
U カーソル行に対して行った変更を全部取り消す
:set number 行番号表示
:set nonumber 行番号非表示
:shell シェルを呼び出す。exitでシェルを抜けてviに戻る
:sh シェルを呼び出す。exitでシェルを抜けてviに戻る