TurtleEdit
Updated on Aug. 5, 2013

# TurtleEditの使い方

TurtleEditのウィンドウは、上下二つの区画に分かれています。 上側がプログラム等を編集するためのエディタ、下側はコンパイル結果やプログラムの実行結果が表示される区画になります。 下側の区画を編集することはできません。 ウィンドウは下図のような構成になっており、同時に開くことのできるファイルはひとつだけです。

テキストエディタとしては最低限の機能しか備えていませんので、使い方について注意すべき事項は特にありません。 他のエディタと異なるのは、日本語文字（全角文字）は常にオレンジ色の四角で囲まれて表示されるようになっている点くらいです。

## 外部プログラムの起動設定

TurtleEditは、ボタンやメニューからコンパイラー等の「外部プログラム」をすぐに起動することができます。 それを行うためには、まず外部プログラムを正しく登録しておく必要があります。 「実行」メニューの「設定」を選んで、以下のようなウィンドウを開いてください。

「コンパイルコマンド」の欄には、【コンパイル】ボタンを押した際に実行すべきコマンドを記述します。 %f と書くと、その箇所が、現在編集中のファイルの名前に自動的に置換されます。 また、%b はファイル名から拡張子を除いた部分（ program.c なら program ）、%d はファイルの保存先の ディレクトリ名、%c は実行中のTurtleEditが置かれているディレクトリ名、そして、%h はホームディレクトリに、 それぞれ置換されます。 また、コマンドの引数の中に空白文字を含めたい場合は %s を使います。

ファイルの保存先ディレクトリがコマンドの作業ディレクトリとして設定されるようになっています。

Cのコンパイラを動かすには、「コンパイルコマンド」の欄に、例えば、以下のように記述します。

    cc %f -lm

「実行コマンド」の欄には、【実行】ボタンを押した際に実行すべきコマンドを記述します。

「追加の実行パス」の欄には、外部コマンドが実行される際に、環境変数PATHに追加しておくべき項目を、コロン":"で区切って並べておきます （Windows版をお使いの場合はセミコロン";"で区切ります）。

なお、コンパイル・実行コマンドの代表的な設定は、「プリセット値」プルダウンからも選べるようになっています。

「亀場のパス」と「亀場を自動起動」は、亀場サーバーを使ったタートルグラフィックスを行う際に設定しておくと便利です。通常のプログラミング学習の際には、設定する必要はありません。

「文字コード」は、使用している環境に合わせて、適切に設定しておきます（さもないと、文字化けを起こすでしょう）。

「フォント名」の欄では、使用したい日本語フォント（"MS ゴシック"等）を選んでおきます。 欧米語用のフォントを設定すると日本語表示が乱れる場合があるのでご注意ください（特にWindowsとLinuxでは）。 フォント名の設定は次回の起動の際に有効になります（その他の項目は、OKを押した時点で反映されます）。

最後にOKを押すと、設定が保存され、次回にTurtleEditを起動した際にも、同じ設定で使うことができます。

例えば、/opt/local/binにインストールされたLaTeX用に設定する場合は

    コンパイルコマンド：  /opt/local/bin/platex %f
    実行コマンド：       /opt/local/bin/xdvi %b
    追加の実行パス：     /opt/local/bin

のように記述します。ここで、/opt/local/bin/xdvi の /opt/local/bin の部分はPATHを設定したからといって、 省略できない（かもしれない）ことに注意してください。環境変数は xdvi がさらに別のプログラムを起動する際に参照されるものだからです。

#### TIPS

Windowsでは、パス名は "C:/Users/daresore" ではなく、"C:\Users\daresore"のように、バックスラッシュを 使って区切ってください。バックスラッシュ \ を入力するには、キーボードの ¥ キーを押します。

（ちゃんとした）ターミナル上でコマンドを実行したい場合には、「実行コマンド」の欄を

    Macの場合：　　　　　　　　　 open -a Terminal コマンド名
    KDEが動いているLinuxの場合：　Konsole -e コマンド名
    Windowsの場合：　　　　　　　 CMD コマンド名

のように設定することもできます。

通常シェル上で発行するコマンド`/bin/bash -c "dvipdfmx ファイル名.dvi && acroread ファイル名.pdf"`に対応する表現は

    /bin/bash -c dvipdfmx%s%b.dvi&&acroread%s%b.pdf

となります。空白を含むパラメータは、"何々"でクォートするのではなく、空白の箇所に%sを記入してください。 %bは開いているファイル名から拡張子を除いた部分に置換されます。

## プログラミング学習での利用

以上の設定が済んでしまえば、TurtleEditの内部だけで、プログラミング等の作業を行うことができます。

1. エディター（上側の区画）でプログラムを作成する
2. 保存する（「ファイル」メニューの「保存」）
3. 【コンパイル】ボタンを押す。エラーがあれば、下の区画に表示されるので、メッセージを手がかりに修正する。
4. コンパイルに成功したら【実行】ボタンを押す。うまく停止してくれないときは【中断】ボタンを押して強制終了。

なお、ファイルを開いた後、コンパイルを１回は行わないと、【実行】には進めないようになっています。 コンパイルが不要な言語では、コンパイルボタンに「実行」の機能を割り当てるか、 文法チェック（Rubyですと "ruby -cw %f" など）を割り当てておくのが良いでしょう。

入力を求めるようなプログラムを作成する際には、注意が必要です。例えば

    #include <stdio.h>
    main(){
    	int x ;
    	printf("x? ") ;
    	scanf("%d",&x) ;
    	printf("x=%d\n",x) ;
    }

のようなCプログラムを実行すると、入力を促す "x?" が、期待するタイミングで下側の区画に表示されないはずです。 それは、Cプログラムの出力がバッファーされているためです。このようなプログラムを書く際には、

    	printf("x? ") ;
    	fflush(stdout) ;
    	scanf("%d",&x) ;

のように出力をその都度フラッシュするか、printf()関数を呼び出す前に

    	setbuf(stdout,NULL) ;
    	printf("x? ") ;
    	scanf("%d",&x) ;

のように、バッファリングを禁止しておく必要があります。

#### 注意

キーボードから値を入力してプログラムに渡すには、下側の区画をクリックして、赤いカーソル（キャレット）が表示 されている状態にしてから、キー入力を行います。

外部プログラムの実行結果が下側の区画に出力することができる文字数は最大で約65000文字までに制限されています （予期せぬ暴走対策）。

## 正規表現の学習

「編集」メニューの中の「フィルター」を選ぶと、正規表現を入力する枠の付いたウィンドウが現れます。 ここに正規表現を入力し、OKを押すと、編集用の区画のテキスト中で、正規表現にマッチした箇所が、下側の区画 に表示されます。正規表現の書式についてはJavaのマニュアル等を参照してください。

「マッチした文字列」を選ぶと、正規表現にマッチした文字列が出力されます。 このとき、ドット"."は改行文字にはマッチしない点にご注意ください。

「マッチした行」を選ぶと、正規表現に完全にマッチした行が出力されます。

「パターンを含む行」を選ぶと、行の中に正規表現にマッチする箇所を含んでいる各行が出力されます。

「行番号」にチェックを入れると、マッチした箇所に対応する行番号も表示されます。

また、「編集」メニューで「置換フィルター」を選ぶと、マッチしたパターンを一括置換した結果が下側の区画に出力されます （このとき、編集画面（上側の区画）は変更されません）。