• Top
  • What's New
  • Command
  • Basic
  • Server
  • Security
  • Conf
  • tools
  • etc
  • blog
  • Link
  • サイトについて
  • Mail
INDEX /  シェル(bash) /  FHS /  パーミッション /  ランレベル /  RPM /  vi /  シンボリックリンク / 
最終更新日 2005/06/16  

viエディタ


GNU/Linuxのエディタ
viとは
viのモード
viの起動・終了
viのモード切り換え
viのカーソル移動コマンド
viの文字列検索・置き換えコマンド
viの削除・ヤンク&ペーストコマンド

GNU/Linuxのエディタ

GNU/Linuxを利用する際に、必ず使用するものはテキストエディタです。
システムの設定・サーバの構築・設定等を行う場合は、テキストファイルをエディタで開き設定をします。
エディタを使うことができなければ、GNU/Linuxでサーバ構築等を行うのは(おそらく)不可能です。
GNU/Linuxでよく利用されるエディタは、「vi」「Emacs」です。どちらも大変優れたエディタであり、同じぐらい人気があります。
Emacsはエディタだけの機能だけではなく、プログラム環境やブラウザとしても利用できます。ゆえに"環境"と呼ばれます。
一方、viは非常にシンプルなエディタで、エディタ機能以外はありません。
日本語を使用する場合はあまり適しませんが、サーバの設定ファイルの書き換えや、緊急時のエディタとしてはviがシンプルで適しています。
ページトップへTop

viとは

viは、ビル・ジョイ氏が開発したフルスクリーンエディタです。
viは一般的に使用されるエディタと違い、「モード」が存在するモードエディタになります。
入力する際の「インサートモード」と、カーソルの移動やファイルの保存などで使用する「コマンドモード」に分かれています。
それぞれモードを切り替えながら編集していきます。また、ホームポジションから、ほとんど手を動かすことなく編集することが可能です。
最初は、かなり癖がありますので難しいかもしれませんが、慣れればこれほど使いやすいエディタはありません。最小のキー操作ですばやく編集することができるようになります。これがviの最大の魅力です。
ページトップへTop

viのモード

viには、「コマンドモード」と「インサートモード」の2つのモードが存在します。
正確には区分すると「viモード」と「exモード」もありますが、ここでは上の2つのモードで説明をします。
コマンドモードは、viでコマンド(ファイル保存などのコマンド)を入力する際に利用します。
ファイルの保存やカーソルの移動・文字の削除・切り取り・コピーなどを行う場合は「コマンドモード」で行います。
インサートモードは、文字を入力する際に利用します。文字入力専用のモードになります。
インサートモードで文字を入力し、コマンドモードでカーソルの移動や文字の削除・保存の保存などを行います。
2つのモードを往復しながら、テキストファイル等を編集していくとこになります。
コマンドモードからインサートモードに移行する場合は、キーボードの「i」(その他にも存在します)を押すます。
また、インサートモードからコマンドモードに戻る場合は、「Esc」キーを押します。

 

viのモード
モード 内容
インサートモード文字の入力(「Esc」キーでコマンドモードへ移動する)
コマンドモードファイルの保存・カーソルの移動・文字の削除・コピー・貼り付け等

ページトップへTop

viの起動と終了

viでもEmacsでもそうですがファイルを開く場合は原則、最初に名前を付けて開きます。あとで名前を付けて保存することも可能です。
viでファイルを開く場合は、「vi <ファイル名>」と入力します。編集後上書き保存する場合、「:wq」と入力します。
編集内容を保存せず終了する場合は、コマンドモードで「:q!」と入力します。

 

起動・終了コマンド
コマンド 説明
vi <ファイル>ファイルを開く
:w現在編集しているファイルを保存(viは終了しない)
:wq現在編集しているファイルを保存(viも同時に終了)
:q!現在編集しているファイルを保存せずに終了(強制終了)
:q現在編集しているファイルを保存せずに終了(ファイル内容が変更されている場合は確認する)
:w <ファイル名>現在編集しているファイルに名前を付けて保存する
ZZ現在編集しているファイルを保存(viも同時に終了)
:e!編集した内容は破棄して、最後に保存した状態を再読み込み

ページトップへTop

viのモード切換え

viのモード切り換えで、インサートモードからコマンドモードへの移行は、「Esc」キーで行います。
コマンドモードからインサートモードへの切り替えは、「i」キーなどいくつかあります。(動きが異なる)

 

入力モードへの移行コマンド
コマンド 説明
iカーソルの位置に文字を入力
aカーソルの右側に文字を入力
I行頭に文字を入力
A行末に文字を入力
o現在行の次に新たな行を挿入して文字を入力
O現在行の前に新たな行を挿入して文字を入力

ページトップへTop

viのカーソル移動コマンド

viでのカーソルの移動は、右手のホームポジションの「h」「j」「k」「l」キーを使います。
それぞれ「左」「下」「上」「右」に割り当てられています。その他にさまざまな操作がポームポジション上で実行できます。
最小のキー操作で目的の場所にカーソルを移動することが可能です。この"カーソル飛ばし"はviの魅力の1つです。
カーソル移動系コマンド
コマンド 説明
hカーソルを左に移動
jカーソルを下に移動
kカーソルを上に移動
lカーソルを右に移動
b現在の単語の最初の文字へ移動
B現在の単語の最初の文字へ移動(句読点は認識しない)
e現在の単語の最後の文字へ移動
E現在の単語の最後の文字へ移動(句読点は認識しない)
w次の単語の先頭に移動
W次の単語の先頭に移動(句読点は認識しない)
^行の先頭に移動
$行の最後に移動
gg先頭の行に移動
G最後の行に移動
f<文字>現在の行のカーソル位置より後ろの文字に移動
F<文字>現在の行のカーソル位置より前の文字に移動
+一行下の先頭の文字へ移動
-一行上の先頭の文字へ移動

ページトップへTop

viの文字列検索・置き換えコマンド

viで文字列を検索する場合は、コマンドモードで「/文字列」と入力するとカーソルのある行から下へ検索します。
カーソルのある行から上を検索する場合は「?文字列」と入力します。次の文字列を検索する場合は、「n」を、戻る場合は「N」を押します。
指定の行に移動するためには、「:行番号」と入力します。また、文字列の置き換えは、「:s」コマンドを利用します。
書式は、「:s/<置き換える文字列>/<置き換え後の文字列>/<オプション>」になります。
オプションには、すべて置き換える「g」と確認メッセージを表示する「c」があります。

 

文字列検索・置き換えコマンド
コマンド 説明
/<文字列>カーソルの位置から下へ<文字列>を検索
?<文字列>カーソルの位置から上へ<文字列>を検索
:<行番号>指定した<行番号>に移動

ページトップへTop

viの削除・ヤンク&ペーストコマンド

viで文字を削除する場合は「x」、ヤンク(viではコピーのことをヤンクという)は「y」、ペーストは「p」を押します

 

削除・ヤンク&ペーストコマンド
コマンド 説明
xカーソル上の文字を削除(delete)
Xカーソルの手前の文字を削除(Backspace)
ddカーソルのある行を削除
Dカーソルの位置から行末までを削除く
yy現在の行を一行ヤンク
y<行数<yカーソルのある位置から<行数<間ヤンク
pカーソルの後の行に挿入
Pカーソルの前の行に挿入

ページトップへTop

 
Copyright (c) 2005 Mukuan All Rights Reserved.