[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4 コマンドラインの編集

Octaveは,広範囲なコマンドライン編集とヒストリ機能を提供するために,GNU readlineライブラリを使用しています。このマニュアルでは,最もよく使用され る機能のみを解説しています。さらなる情報は,GNU Readlineライブラリのマ ニュアルを参照してください。

印刷可能文字(アルファベット,数字,機能など)を入力するには,単にその 文字を打ち込みます。Octaveは,その文字を挿入し,カーソルを次に進めます。

コマンドライン編集機能の多くは,制御文字を使用して操作します。たとえば, Control-aという文字は,カーソルを行の先頭に移動します。C-aを 入力するには,CTRLキーを押したままaキーを押します。次の節で は,Control-aのような制御文字をC-aと表記しています。

コマンドライン編集機能の別のセットは,メタ文字を使用します。ある端末では, METAキーを押しながらuを押すことにより,M-uを打ち込みま す。もし使用している端末にMETAキーが無いならば,ESCキーで始ま る2文字を入力することにより,メタ文字を入力できます。したがって,M-u を入力するには,ESCuと打ち込めばよいのです。ESC入力法は, メタキーを持つ端末においても使用できます。以降の節において,Meta-u という¥メタ文字は,M-uと表記しています。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4.1 カーソルの移動

以下のコマンドは,カーソルを移動するものです。

C-b

1文字戻します。

C-f

1文字進めます。

DEL

カーソルの左側にある文字を削除します。

C-d

カーソルが重なっている文字を削除します。

M-f

後の単語に進めます。

M-b

前の単語に戻ります。

C-a

行の先頭に移動します。

C-e

行の終端に移動します。

C-l

スクリーンをクリアし,現在の行を最上部に表示します。

C-_
C-/

最後に実行したことを取り消して戻します(アンドゥ)。すべての処理をアン ドゥし,何も入力していない状態まで戻すことができます。

M-r

この行について行った変更をすべてアンドゥします。これは,最初まで戻すため に何回も`undo'コマンドを入力するのと同じ動作です。

上の表は,入力行の編集を行うために必要な,最も基本的なキーストロークに ついて解説しています。大部分の端末においては,カーソルを進めたり戻した りするには,C-fC-bの代わりに矢印キーを使用できます。

C-fが1文字進めるのに対して,M-fは1単語進めることに注意して ください。おおざっぱに言えば,コントロールキーの組み合わせは文字を操作 するものであって,メタキーの組み合わせは単語を操作するのです。

Octaveプログラム内でスクリーンをクリアする関数もあります。

Built-in Function: clc ()
Built-in Function: home ()

端末のスクリーンをクリアし,カーソルを左上隅に移動する。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4.2 切り取りと貼り付け

テキストを切り取る(killing)というのは,その行からテキストを削除し, 後で使用するためにその内容を保存しておくことです。通常は,貼り付け (yanking)することにより,それを行に戻します。もしコマンドについての 解説で,テキストを「切り取る」という表現があるならば,後でテキストを 違う位置(または同じ位置)に戻すことになると思ってください。

テキストを切り取るためのコマンド一覧を示します。

C-k

現在のカーソル位置から行末までのテキストを切り取ります。

M-d

カーソル位置から現在の単語末までを切り取ります。もし,単語間にカーソル があれば,次の単語末までになります。

M-DEL

カーソル位置から前の単語の先頭までを切り取ります。もし,単語間にカーソ ルがあれば,前の単語の先頭までになります。

C-w

カーソル位置から前の空白までを切り取ります。これはM-DELとは 異なる動作です。なぜならば,単語区切りが異なるからです。

また,テキストを行に貼り付けて戻す方法について示します。貼り付けと は,切り取りバッファから,最も最近切り取ったテキストをコピーすることを意 味します。

C-y

最も最近切り取ったテキストを,カーソル位置に貼り付けます。

M-y

切り取りリングを回し,新しい内容を貼り付けます。このコマンドは,事前に C-yまたはM-yコマンドを実行している場合にのみ実行できます。

切り取りコマンドを使用するとき,そのテキストは切り取りリング (kill-ring)に保存されます。任意回数の連続した切り取りは,切り取った テキストとともに保存されます。その結果,それを貼り付けして戻すとき, それを一気に得ることがことができます。切り取りリングは,特定の行につ いてのものではありません。つまり,以前に入力した行において切り取った テキストは,別の行を入力しているときに,後に貼り付けのために利用する ことができます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4.3 テキストを変更するためのコマンド

以降のコマンドは,特別な意味を持つ文字(たとえばTABC-qなど), を入力する,あるいはタイプミスを素早く修正するために使用できます。

C-q
C-v

これを入力した次の文字を,そのまま行に追加します。これは,たとえば, C-qのような文字を挿入するためな方法です。

M-TAB

タブ文字を挿入します。

C-t

カーソルの後ろにある文字をカーソル位置の文字の前に移動し,カーソルを進 めます。もしカーソルが行の終端にあるならば,カーソル前の2つの文字を入れ 替えます。

M-t

カーソルの後ろにある単語をカーソルの前にある単語の位置に移動します。

M-u

カーソル位置から現在の(あるいは次の)単語の末尾までの文字を大文字に変換 し,カーソルをその単語末まで移動します。

M-l

カーソル位置から現在の(あるいは次の)単語の末尾までの文字を小文字に変換 し,カーソルをその単語末まで移動します。

M-c

カーソルに続く文字(もしカーソルが単語間にあるならば,次の単語の始まり)を 大文字に変換し,カーソルをその単語末に移動します。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4.4 readline入力

以下のコマンドは,Octaveでコマンドや変数名を補完できるようにするものです。

TAB

カーソル前の位置にテキストの補完を試みます。Octaveは,コマンド名および 変数名を補完できます。

M-?

カーソル前の位置に補完することのできるテキストの一覧を表示します。

Built-in Variable: completion_append_char

completion_append_charの値は,コマンドライン補完の試みがうまくいっ たときに付加する文字として使用します。初期状態の値は," "(単一の スペース)です。

Built-in Function: completion_matches (hint)

hintにより与えられる可能な補完を生成します。

この関数は,EmacsのようなOctaveを操作したりユーザの入力を管理できるような プログラムの利便のために提供されています。この関数が呼ばれるとき,現在の コマンド番号はインクリメントされません。これは仕様であり,バグではありませ ん。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4.5 履歴編集のためのコマンド

Octaveは,通常,あなたがタイプしたコマンドの足跡を保持しています。これに より,編集や再実行するために以前のコマンドを呼び出すことができます。Octave を終了するとき,最も最近入力したコマンドはファイルに保存されます。保存数の 上限は,history_sizeなる変数で指定されます。Octaveを起動するとき, 変数history_fileで指定したファイル名から,コマンドの初期リストを読 み込みます。

履歴リストを単純に閲覧および検索するためのコマンドを示します。

LFD
RET

カーソル位置にかかわらず,その行を受け入れます。この行が空でないならば, それを履歴リストに追加します。もしこの行が履歴行であったならば,その履 歴行をもとの位置に復元します。

C-p

履歴リストを「上に」(古い方に)移動します。

C-n

履歴リストを「下に」(新しい方に)移動します。

M-<

履歴における最初の行に移動します。

M->

入力された履歴の末端に移動します。つまり,いま入力している行ですね!

C-r

現在の行から開始し,必要に応じて履歴を「上に」さかのぼって検索します。 これはインクリメンタルサーチです。

C-s

現在の行から開始し,必要に応じて履歴を「下に」新しい方に向けて検索します。

大部分の端末では,履歴リストをたぐるために,C-pおよびC-nの 代わりに矢印キーも使うことができます。

履歴リストを移動するためのキーボードコマンドに加えて,Octaveは,履歴リス トからのコマンド群を閲覧,編集,再実行するための関数を提供しています。

Command: history options

もし引数なし実行するならば,historyは,あなたが実行したコマンドの リストを表示する。以下のオプションが使用できる。

-w file

現在の履歴をファイルfileに書き込む。もしそのファイル名を省略する ならば,標準のファイル名(通常は`~/.octave_hist')を使用する。

-r file

ファイルfileを読み込み,現在の履歴をその内容で置き換える。もしファ イル名を省略するならば,標準のファイル名(通常は`~/.octave_hist')を 使用する。

n

履歴の最近n行のみを表示する。

-q

履歴リストを表示するときに,番号をつけない。これは,X Window Systemを使っ ているときに,コマンドの切り取りと貼り付けをするのに便利である。

たとえば,最近入力した5つのコマンドを,行番号なしで表示するには, history -q 5 というコマンドを使用する。

Command: edit_history options

もし引数なしで実行するならば,edit_historyは,EDITOR変数で 指定したエディタを使用して履歴リストを編集できるようにする。編集されるこ とになるコマンド群は,最初にテンポラリファイルへとコピーされる。エディタ を終了するとき,Octaveは,そのファイルに残ったコマンドを実行する。関数を 定義するためにedit_historyを使う方が,コマンドラインに直接入力し ようとするよりも,より便利である。標準設定により,一連のコマンドは,エディ タを終了するとすぐに実行される。コマンドの実行を避けるためには,エディタ を終了する前に,バッファから単に全ての行を削除せよ。

edit_historyコマンドは,編集したい最初と最後のコマンドの履歴番号 を指定するための2つのオプション引数をとる。たとえば,以下のコマンド

 
edit_history 13

は,履歴リストの13番目から最後までの全てのコマンドを取り出す。以下のコマ ンド

 
edit_history 13 169

は,13番目から169番目までのコマンドのみを展開する。最初の番号よりも2番目 の番号に大きい値を指定するならば,編集するためのバッファにおく前に,コマ ンドのリストを逆順にする。もし両方の引数を省略するならば,履歴リストに存 在する以前のコマンドが使用される。

Command: run_history [first] [last]

edit_historyと同様であるが,エディタを実行せず,履歴リストに存在 するコマンドを単に実行する。

Built-in Variable: EDITOR

A string naming the editor to use with the edit_history command. If the environment variable EDITOR is set when Octave starts, its value is used as the default. Otherwise, EDITOR is set to "emacs".

Built-in Variable: history_file

この変数は,コマンド履歴を保存するために使用するファイル名を指定する。 標準の値は"~/.octave_hist"であるが,環境変数 OCTAVE_HISTFILEによって上書きすることができる。

Built-in Variable: history_size

この変数は,どのくらいの項目を履歴ファイルに保存するかを指定する。 標準の値は1024であるが,環境変数OCTAVE_HISTSIZEによって 上書きすることができる。

Built-in Variable: saving_history

もし変数saving_historyがゼロでないならば,コマンドラインで入力 した行が,変数history_fileによって指定したファイルに保存される。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4.6 readlineのカスタマイズ

Built-in Function: read_readline_init_file (file)

readline初期化ファイルfileを読み込む。もしfileを省略するなら ば,標準のファイル(通常は`~/.inputrc')を読み込む。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4.7 プロンプトのカスタマイズ

以下の変数は,コマンドラインプロンプトの見た目をカスタマイズするために利用でき ます。Octaveでは,バックスラッシュでエスケープされる数々の特殊文字を挿入するこ とにより,プロンプトをカスタマイズできるようになっています。それらの特殊文字は, 以下のように解釈されます。

`\t'

時間です。

`\d'

日付です。

`\n'

ラインフィードに続くキャリッジリターンを表示することにより,新しい行を開始し ます。

`\s'

プログラム名(通常は`octave')です。

`\w'

現在の作業ディレクトリです。

`\W'

現在の作業ディレクトリのベース名です。

`\u'

現在のユーザ名です。

`\h'

最初の `.' までのホスト名です。

`\H'

ホスト名です。

`\#'

現在のコマンドの,Octavewを起動したときからカウントしたコマンド番号です。

`\!'

このコマンドの履歴番号です。これは,Octaveを起動したときの履歴リストのコマ ンド番号という点で,`\#'とは異なっています。

`\$'

もし有効なUIDが0ならば`#',そうでなければ`$'です。

`\nnn'

8進数の文字コードで表記した文字がnnnです。

`\\'

バックスラッシュです。

Built-in Variable: PS1

プライマリプロンプトの文字列である。対話的に実行するとき,Octaveがコマ ンドを読み込む準備ができたときに,プライマリプロンプトを表示する。

PS1の初期値は"\s:\#> "である。これを変更するには,

 
octave:13> PS1 = "\\u@\\H> "

のようなコマンドを入力する。これは,ホスト`kremvax.kgb.su'にログイン したユーザ`boris'について,`boris@kremvax> 'なるプロンプトに なるだろう。2つのバックスラッシュは,文字列に1個のバックスラッシュを入力 するために必要であることに留意してほしい。 文字列を参照のせよ。

Built-in Variable: PS2

セカンダリプロンプトの文字列である。これは,Octaveが,コマンド入力を完了 するために追加入力を期待するときに表示するものである。たとえば,複数行に わたる関数を定義するとき,Octaveは,2行目以降の各行の先頭にPS1の 値を表示することになる。PS2の初期値は"> "である。

Built-in Variable: PS4

もしOctaveが--echo-commandsオプションをつけて起動されるならば, 各入力行をエコーする前にPS4の値を表示する。PS4の初期値は\n"+ "である。--echo-commandsの解説は, Octaveの起動を参照せよ。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4.8 日記とエコーコマンド

Octaveの日記機能は,打ち込んだ入力およびOctaveが表示した出力を記録することに より,対話セッションの全ての実行結果(ログ)を,別のファイルに保存できるよう にします。

Command: diary options

全てのコマンドおよびそれらが生み出した出力結果のリストを生成する。これは, 端末で見えているように,入力と表示を一緒に混ぜる。

on

現在の作業ディレクトリの`diary'なる名前のファイルに,実行結果の 記録を開始する。

off

日記ファイルへの記録を中止する。

file

fileという名前のファイルに実行結果を記録する。

引数を何もつけないときは,現在の設定のオン・オフを切り替える。

ときどき,関数あるいはスクリプトが評価されるときに,そのコマンドを見ることが 有用なこともあります。これは,ある種の問題のデバッグに特に役立ちます。

Command: echo options

コマンドを実行したときに,それを表示(エコー)するかどうかどうかをコント ロールする。以下のオプションが利用できる。

on

スクリプトファイルで実行されるコマンドを,画面に表示するようにする。

off

スクリプトファイルで実行されるコマンドを,画面に表示しないようにする。

on all

スクリプトファイルと関数で実行されるコマンドを,画面に表示するようにする。

off all

スクリプトファイルと関数で実行されるコマンドを,画面に表示しないようにする。

もし引数をつけずに実行するならば,現在の設定のオン・オフを切り替える。

Built-in Variable: echo_executing_commands

この変数は,エコー設定をコントロールするために使用される。これは,以下の 値の合計となる。

1

スクリプトファイルから読み込んだコマンドをエコーする。

2

関数から読み込んだコマンドをエコーする。

4

コマンドラインから読み込んだコマンドをエコーする。

1つ以上の設定を同時に行うことができる。たとえば,3という値は, echo on allコマンドと等価である。

echo_executing_commandsの値は,echoコマンドおよび コマンドラインオプション--echo-inputによって設定される。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated on July, 20 2006 using texi2html 1.76.