Next| Prev|Index|凡例


B.5 カスタマイズ

よく使うコマンドや、文字列を登録しておくことで、より効率よく vi を使うことができます。
.exrc ファイルはそういったコマンドや略号を保存するファイルで、vi 起動時に参照されます。 1. 略号の定義(文字列)
略号は ab コマンドを用います(ab は abbreviation(省略形)の略です)。
略号を定義すれば編集中に略号を入力、続けて空白やタブを打つと定義されていた文字列に置換されます。 略号には英数字とアンダースコア(_)が使用できます。
:ab 略号 任意の文字列
例題として、C 言語で比較的よく用いられる文字列 #include の略号を _i と定義します。
これにより文字入力中に _i と入力し、続けて空白かタブ打つと、#include に置換されます。
	:ab _i #include
	_i_(スペース)
		
	#include 	
2. コマンドの定義
よく使用する一連のコマンド操作を、任意の1文字で現すことが出来ます。
例えば、C言語では以下のようなコメントを入力することがよくあります。
	/* ------------------------------ */
	コメントを見やすくするために区切る記号として、マイナス(-)が30個
入力する方法はいくつかありますが、たとえば
i/* ^[30a-^[a */^[
と入力する必要があります。
この一連の操作を短縮するためには map コマンドを用います。
	:map Q i/* ^[30a-^[a */^[
この様に定義した後 Q と1文字入力するだけでコメント(/*--...--*/)が入力されます。
ab は入力モードでの動作を定義しますが、map はコマンドモードでの動作を定義しています。

また文字 Q に変えて、特殊なキー(たとえば PageUP や PF2 など)を割り当てることもできます。
その場合は、特殊なキーをタイプする直前に (Ctrl)+V を押し、割り当てたいキーをタイプします。

3.カスタマイズの保存
すでに解説した略号やコマンド、また :set など vi のオプションなどの設定情報は、 .exrc に保存することができます。
またダブルコーテーション(") で始まる行は注釈となります。 ち上がります。

【.exrc の例】
	% cat ~/.exrc
	set nu ts=4 sw=4 report=1 window=23 showmode
	ab _i #include
	ab _d #define
	" -------------- [Remove] ---------------
	map ^[[3~ dd | map! ^[[3~ dd
	" -------------- [PrevScreen] -----------
	map ^[[5~ ^BH | map! ^[[5~ ^[^BH
	" -------------- [NextScreen] -----------
	map ^[[6~ ^FH | map! ^[[6~ ^[^FH
	" -------------- Comment IN/OUT ---------
	map C A*/^[I/*^[
	map c :s/\\/\\*//^M:s/\\*\\///^M


Next| Prev| Up| Index