exはラインエディタです。
ファイルのテキストを1行ずつ編集することができます。
viからexのコマンドを使うことができます。
石器時代のツールだけど、こちらの方が便利な場合もあるようです。
状況に応じてviのコマンドとexのコマンドを使い分けると良いです。
viからexのコマンドを使うときは頭に:をつけます。
exは行単位で処理をするので、カーソルのある行以外は見えてないような気持ちです。
コマンドの構成は次の形。
対象の行 + コマンド + 引数
「どの行を?」というのを意識しているツールです。
だから、”1,10w”というコマンドで「10行目までを保存」とかってことも可能です。
(1)行の指定方法
基本的には「始まり,終わり」の形で指定。
$:最終行
.:カレント行
行番号の中では、加法減法が使える。
これは便利。
%:全ての行
(2)基本的なコマンド
r:読み込み
w:保存
q:終了
wq:保存して終了
x:保存して終了(変更がある場合のみ保存)
d:削除
m:移動
co:コピー
t:コピー
pu:バッファからペースト
=:行の総数を表示
.=:カレント行の行番号を表示
/pattern/=:patternにマッチする行の番号を表示
(3)基本的でないコマンド
g:検索
g!:一致しないものを検索
s:置換
これは”s/old/new/option”という、おなじみの形式。
パターンには正規表現を利用できる。
オプションとしては、
g:行の全ての一致に対して置き換え
c:置き換えを確認する
e:新しいファイルを編集
n:次のファイルに移動
rew:最初のファイルに移動
last:最後のファイルに移動
arg:編集中のファイルを表示
一つのウィンドウでマルチにファイルを編集できる。
といっても、移動するときは毎回保存が必要。
バッファなどを共有できるという点で有利。
set:オプションを設定する
!:UNIXコマンドを実行
sh:シェルを起動
ab:単語の略記を登録
unab:解除
map:独自のコマンドをマッピングする
unmap:解除
コメント