TOP >> viコマンド一覧
FutureMedia.jp

viを使いこなそう!

viエディタについて

 viエディタは、『コマンドモード』『入力モード』の2種類があり、 モードを切り替えて操作を行います。

 viエディタの起動直後は『コマンドモード』になっているので、 『入力モード』への切り替えコマンドを入力する事で文字の入力が出来るようになります。 尚、Escキーを押す事でいつでも『コマンドモード』に戻れます。

以下は、viエディタのコマンド・リファレンスになります。

viの起動


vi ファイル名編集対象のファイルを開く(複数ファイルも可)
vi +n ファイル名n 行目から表示する
vi + ファイル名最後一画面を表示する
vi + /文字列 ファイル名文字列が存在する行から表示する
vi -r ファイル名壊れたファイルをリカバリする

viの終了


ZZviを終了(内容が変更されている場合は保存)
:wqファイルに保存してvi終了
:qviを終了(内容が変更されている場合は警告)
:q!viの強制終了(内容が変更されていても保存されない)

カーソル移動


h 又は BackSpace1文字左へ移動(←)
j 又は Ctrl-N1行下へ移動(↓)
k 又は Ctrl-P1行上へ移動(↑)
l 又は Space1文字右に移動(→)
H画面の最上行に移動
M画面の中央行に移動
L画面の最下行に移動
Gファイルの最終行に移動
n Gファイルの n 行目に移動
0行頭へ移動
$行末へ移動
Ctrl-f1ページ下へ
Ctrl-b1ページ上へ
Ctrl-d半ページ下へ
Ctrl-u半ページ上へ

入力・編集

『コマンドモード』でここのコマンドを入力すると『入力モード』になります。

aカーソルの右から入力開始
A行末から入力開始
iカーソルの左から入力開始
I行頭から入力開始
o現在の行の下に1行挿入し、
その行頭から入力開始
O現在の行の上に1行挿入し、
その行頭から入力開始
J次の行と現在の行とを結合する
3J下の2行を現在の行とを結合する

削除


xカーソル上の1文字削除
Xカーソルの左の文字を1文字削除
dd現在の行を削除(バッファにコピーされる)
d n d現在の行から、n 行を削除
d 1 G現在の行から、ファイルの先頭までを削除
d G現在の行から、ファイルの最後までを削除
dwカーソル上の一語を削除
df カーソル位置から指定した までを削除
d$カーソル位置から行の最後までを削除
d^カーソル位置から行の先頭までを削除
:行1, 行2 d行1 から行2 を削除

検索


/<文字列><文字列> を検索する
?<文字列><文字列> を検索する(逆方向)
n順方向へ検索する
N逆方向へ検索する

置換


rカーソル上の1文字を他の1文字に置換
Rカーソル上の文字からEscが
押されるまでの文字列を置換
sカーソルのある1文字を他の文字列で置換
S現在の行を他の文字列で置換
cwカーソル位置からこの語の最後までを置換
cf カーソル位置から指定した までを置換
Cカーソル位置から行の最後までを置換
:s/置換え前/置換え後/現在の行で、置換え前の文字列を、
置換え後の文字列で置換

もっとも近くにある文字列一つに
対してのみ実行
:s/置換え前/置換え後/g現在の行で、置換え前の文字列を、
置換え後の文字列で置換
:s/置換え前/置換え後/gc現在の行で、置換え前の文字列を、
置換え後の文字列で置換 (確認あり)
:%s/置換え前/置換え後/置換え前の文字列を、置換え後の
文字列で置換

もっとも近くにある文字列一つに
対してのみ実行
:%s/置換え前/置換え後/gファイルの中すべての文字列に対して、
置換えを行う
:%s/置換え前/置換え後/gcファイルの中すべての文字列に対して、
置換えを行う (確認あり)
~ (チルダ)大文字/小文字を変更する
:& 又は &直前の s(置換) コマンドの繰り返し

カット&ペースト


yy現在の行をバッファにコピー
n yyn 行分をバッファにコピー
yw単語をバッファにコピー
pバッファ内のテキストを挿入

(文字、単語はカーソルの右に、行は現在の行の下に挿入される)
Pバッファ内のテキストを挿入

(挿入位置はpの逆。文字、単語はカーソルの左に、行は現在の行の上に挿入される)

取り消し・繰り返し


u直前の操作を取り消す
U行全体の操作を取り消す
. (ドット)直前の操作の繰り返し

ファイル操作


:w ファイル名現在のファイル(指定ファイル)に保存
:w! ファイル名書き込みを強行
:行1, 行2 ファイル名行1 から行2 のテキストをファイルに保存
:w >> ファイル名現行ファイルの最後に書き加える
:r ファイル名現在の行の次の行にファイルを
読み込み、挿入する
:r現在の行の次の行に現在のファイルを
読み込み、挿入する
:args編集ファイルの一覧を表示する
:n複数個のファイル編集時、次のファイルを
編集対象とする
:e#一つ前の編集ファイルに戻る
:e!%現在のファイルを再ロードして、
最初から編集をやり直す
:eファイル名 指定ファイルを編集対象とする
:rewind現在のファイルの変更内容を保存して、
リストの最初から編集をやり直す
:rewind!現在のファイルの変更内容を保存しないで、
リストの最初から編集をやり直す

UNIXコマンドの実行


:!<コマンド><コマンド>を実行する
:!!直前の<コマンド>を再実行する
:sh一時的にシェルに戻る
exitでviに戻る

コマンドのフィルタリング


!<コマンド><コマンド>を実行して結果を挿入
!!datedate の結果の挿入
!!tr A-Z a-zカーソル行の大文字を小文字に変換

テキスト入力の略記


:ab<文字列> <置換え文字列><文字列>と入力すると<置換え文字列>に置き換えるように設定する
:unab<文字列><文字列>の置き換え設定を解除する
:ab一覧表示

その他コマンド


:set number 又は :set nu行番号を表示する
:set no number 又は
:set nonu
行番号の表示をやめる
:set showmode現在のモードを表示する
:set showmatch() や {} の対応の報告をするようになる
:set ignorecase大文字/小文字の区別なく検索する
:set autoindent自動インデントモード
:set noautoindent自動インデントモードをやめる
:set allすべてのオプションを表示する

viの環境設定 (viの設定ファイル『 .exrc 』の設定方法)

 ホームディレクトリに .exrc というファイルを作成し、 そのファイル内に以下の設定例のように記述する。

set tabstop = 4
set showmode
set autoindent
set nonumber
set showmatch



copyright (C) 2009 FutureMedia.jp All Rights reserved. | 免責事項 | お問合せ | リンク