Sun Studio 12: C ユーザーズガイド

8.2.9 エディタのコマンド行構文

cscope はデフォルトで vi エディタを使用しています。 EDITOR 環境変数に任意のエディタ名を設定して EDITOR をエクスポートすると、デフォルトを変更することができます。この手順については、「8.2.1 ステップ 1: 環境設定」で述べたとおりです。ただし、cscope は、使用するエディタのコマンド行構文が次の形式であるとみなします。


% editor +<行番号> <ファイル名>

これは vi と同じです。使用したいエディタがこのようなコマンド行構文を持っていない場合は、cscope とエディタ間のインタフェースを定義する必要があります。

ed を使用する場合を考えてみます。ed では、コマンド行内に行番号を指定することができないので、そのままでは cscope のエディタとして使用できません。そこで、次のような行を含むシェルスクリプトを作成します。


/usr/bin/ed $2

ここでは、シェルスクリプトを myedit とします。環境変数 EDITOR の値をこのシェルスクリプトに設定して EDITOR をエクスポートします。

B シェルの場合は次のように入力します。


$ EDITOR=myedit; export EDITOR

C シェルの場合は次のように入力します。


% setenv EDITOR myedit

cscope は、指定されたリスト項目 (たとえば、main.c の 17 行目) を読み込んでエディタを起動するとき、次のようなコマンド行を使用してシェルスクリプトを起動します。


% myedit +17 main.c

myedit は第一引数の行番号 ($1) を無視して、第二引数のファイル名 ($2) だけを使用して ed を正しく呼び出します。希望する行を表示および編集するには、適切な ed コマンドを実行する必要があります。すなわち、17 行目に自動的に移動することはありません。