>> i's SQUARE >> UNIXのノウハウ >> UNIXエディター

UNIXエディター(vi/mule)




以下はUNIXのテキストエディター「vi」と「mule」の使い方です。

◆vi(ブイアイ)

viはちょっと独特ですが、 マウスを使わなくても全ての操作が出来るため いまだに局所的に根強い人気があります!

vi を起動するにはまず最初に
% vi ファイル名
とうちます。

vi はコマンドモードと入力モードと2種類のモードがあります。 最初に vi を立ち上げたときはコマンドモードになってます。 コマンドモードから入力モードに切り替えるには 「a A i I o O c C s S R」 のいずれかを押します。
入力モードからコマンドモードに戻る時は「Esc」を押します。

a :カーソル位置の後から入力モードに移行
A :カーソルのある行の行末から入力モードに移行
i :カーソル位置の前から入力モードに移行
I :カーソルのある行の行頭から入力モードに移行
o :カーソル位置の下の行に、行を追加して入力モードに移行
O :カーソル位置の上の行に、行を追加して入力モードに移行
Esc :入力モードからコマンドモードに移行
Ctrl-g :編集中のファイル名やカーソル位置が今何行目にあるかとかを表示


▼ファイル操作のコマンド
:w ファイル名 [Enter] :名前を付けて保存
:w [Enter] :上書き保存
:wq [Enter] :保存して終了
ZZ :保存して終了
:q [Enter] :viを終了
:q! [Enter] :保存せずに終了


▼カーソルの移動
:左へ移動
h :左へ移動(3hとすると3文字左へ移動)
:下へ移動
j :下へ移動(3jとすると3行下へ移動)
:上へ移動
k :上へ移動(3kとすると3行上へ移動)
:右へ移動
l :右へ移動(3lとすると3文字右へ移動)
b :カーソル位置の左の単語の先頭へ移動
w :カーソル位置の右の単語の先頭へ移動
M :画面の中央の行に移動
G :最終行に移動
nG :nG行目に移動(10Gと入力すると10行目に移動、ファイルの先頭行への移動は1G)


▼編集コマンド
x :カーソル位置の1文字を削除(バッファに記憶)
X :カーソル位置の手前の1文字を削除(バッファに記憶)
dd :カーソル位置の行全体を削除(バッファに記憶)
ndd :カーソルのある行から文末方向に向かってn行削除(例:3ddだと文末方向3行削除)
dw :単語の削除
D :カーソル位置から行末まで削除
yy :カーソル行をコピー
nyy :カーソル行から文末方向に向かってn行コピー(例:3yyだと文末方向3行をコピー)
p :カーソル行の下にバッファ内の文字列を貼り付け
P :カーソル位置の手前にバッファ内の文字列を貼り付け
r :今の文字を次にタイプする文字で置き換え
u :元に戻す
U :カーソル行を元に戻す
J :カーソルのある行と次の行を結合(カーソル行の改行を削除)
nJ :カーソルのある行からn行を結合(例:3Jだと文末方向3行の改行を削除)
. :カーソル位置にて前回の操作を再実行


▼検索
/検索文字列 [Enter] :カーソル位置から下を検索(nで次(下)を再検索、Nで(上)を再検索)
?検索文字列 [Enter] :カーソル位置から上を検索(nで次(上)を再検索、Nで(下)を再検索)

▼置換
:検索開始行,検索終了行s/検索文字/置換文字/gc [Enter]
・「g」は全て置換えのオプション(無ければ最初に見付かった文字のみ置換)
・「c」は置き換える前に確認を入れるオプション(無ければ問答無用で置換) 確認してOKなら「y」で書き換え、書き換えない場合は「Enter」を押す

例)
:5,10s/不動産/車/g
5行目から10行目に含まれる不動産を車に置換

:1,$s/車/保険/gc
1行目から最後の行($は最終行)までに含まれる車を保険に確認しながら置換

:%s/売買/不動産/
ファイル全体(1,$と同じ)で最初に見つかった売買を不動産に置換

.,.+3s/契約/売買/g
カーソル行から下3行に含まれる契約を売買に置換



◆mule(ミュール)

muleはUNIX環境で恐らく一番使われている (Emacsに多言語を扱える機能を拡張した) 多機能エディターです。
独自の文字コードを内部に持っているため、多言語を混在させて扱うことが可能です。 また、各種プログラミング言語モードが搭載出来るため、プログラムを書いたり、 TeX のソースを書いたりするときなど非常に重宝します!


▼ウィンドウ操作
Ctrl-x 0 :現在のウィンドウを削除
Ctrl-x 1 :1ウィンドウのみ表示
Ctrl-x 2 :ウィンドウを縦に2分割
Ctrl-x 3 :ウィンドウを横に2分割
Ctrl-x o :ウィンドウ移動


▼ファイル操作
Ctrl-x Ctrl-f :ファイルの読み込み
Ctrl-x i :ファイルの挿入
Ctrl-x Ctrl-s :上書き保存
Ctrl-x Ctrl-w :名前をつけて保存
Ctrl-x Ctrl-c :終了する


▼カーソルの移動
Ctrl-p または ↑ :1行上に移動
Ctrl-n または ↓ :1行下に移動
Ctrl-b または ← :1文字左に移動
Ctrl-f または → :1文字右に移動
Ctrl-a :行頭に移動
Ctrl-e :行末に移動
Ctrl-v :1画面分下に移動
ESC v :1画面分上に移動
ESC < :ファイルの先頭に移動
ESC > :ファイルの末尾に移動
ESC x goto-line [Enter] n :n行目に移動


▼削除・コピー・貼り付け
Delete :カーソル直前の1文字消去
Ctrl-d :カーソルの位置の文字を消去
Ctrl-k :カーソル位置から行末まで切り取り
Ctrl-Space :領域の開始位置指定、終了位置はカーソルをあわせる
Ctrl-w :領域開始位置からカーソル位置の直前まで切り取り
ESC w :領域開始位置からカーソル位置の直前までコピー
Ctrl-y :貼付け
ちなみにマウスを使う場合は、 開始位置で左クリック、終了位置で右クリック、コピー先で中クリックで貼付けです!


▼困ったとき
Ctrl-g :コマンドの中断
直前の操作の取消し :カーソルの位置の文字を消去


▼検索
C-s 検索文字列 :順方向に一文字ずつ検索
C-r 検索文字列 :逆方向に検索
C-s Esc-検索文字列 :順方向に一括検索
C-r Esc-検索文字列 :逆方向に一括で検索


▼バッファ操作
Ctrl-x Ctrl-b :バッファの切替
Ctrl-x Ctrl-k :バッファの削除


▼日本語入力(ローマ字かなモード)
Ctrl-\ :ローマ字かなモードの切替
Ctrl-_ :JISコードによる入力
Enter :確定
Ctrl-g :終了
Space :漢字変換モードに移る


▼日本語入力(漢字変換モード)
Space :次候補
Ctrl-p :前候補
Ctrl-o :変換範囲を伸ばす
Ctrl-i :変換範囲を縮める
Enter :確定
Ctrl-g :ローマ字かなモードに移る
Esc-k :特殊文字メニューの表示
Esc-s :変換候補一覧の表示



私はあの世なんて信じない。
けれど、着替えて、少しばかりの金は持って行くつもりさ。
by ウディ・アレン