Cosmetic changes that include line break after the end of sentence,

adjustng whitespace, and expressing number consistently
(Hiragana, Chinese number chars, or digits).
This commit is contained in:
Kazuo Horikawa 2003-11-23 19:39:20 +00:00
parent 5c8ba35d4f
commit 5bee79aae4
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=18968

View file

@ -56,21 +56,23 @@
端末上でのウィンドウ環境を実装したものです。
.Pp
ウィンドウとは物理的な端末スクリーンの中の部分的な長方形部分を指し、
ここをプロセスの集合が利用します。その大きさと位置はユーザがいつでも
ここをプロセスの集合が利用します。
その大きさと位置はユーザがいつでも
変更できます。プロセスは通常に端末と通信するのと同じ方法、つまり
標準入力、標準出力、標準エラー出力を通して、
そのウィンドウと通信します。
ウィンドウプログラムはそのウィンドウに対する入力と出力のリダイレクトに関する
細かい処理を行います。どんな時でも、 1 つのウィンドウだけがキーボードからの
細かい処理を行います。
どんな時でも、 一つのウィンドウだけがキーボードからの
入力を受けることが出来ますが、全てのウィンドウが同時にディスプレイへの出力を
送ることが可能です。
.Pp
.Nm
が立ち上がった時、ユーザのホームディレクトリにある
.Pa .windowrc
内のコマンドが実行されます(以下のロングコマンドを参照)。
内のコマンドが実行されます (以下のロングコマンドを参照)。
もしこのファイルが存在しない時は、
デフォルトとして同じ大きさのウィンドウが 2 つ作成されます。
デフォルトとして同じ大きさのウィンドウがつ作成されます。
.Pp
コマンドラインオプションには以下のものがあります。
.Bl -tag -width Fl
@ -83,13 +85,13 @@ terse
高速モードです。スタートアップ動作は何もしません。
.It Fl d
.Pa .windowrc
を無視する代わりに 2 つのデフォルトウィンドウを作成します。
を無視する代わりにつのデフォルトウィンドウを作成します。
.It Fl e Ar escape-char
エスケープ文字を
.Ar escape-char
にします。
.Ar escape-char
は文字 1 つか、もしくは
は文字つか、もしくは
.Ic ^X
.Ns ( No control\- Ns Ar X
) のような形式です
@ -97,12 +99,13 @@ terse
はどんな文字でも構いません)。
.It Fl c Ar command
.Ar command
をロングコマンド(以下参照)として最初に実行します。
をロングコマンド (以下参照) として最初に実行します。
.El
.Pp
ウィンドウはオーバラップ可能で、枠が必要です。
各ウィンドウには、``1'' から ``9'' の数字のうちの一つの名前が
付いています。この一文字の識別子は、ユーザが定義できるラベル文字と
付いています。
この一文字の識別子は、ユーザが定義できるラベル文字と
同じように、ウィンドウのフレームの上の辺に表示されます。
ウィンドウは
.Ar フォアグラウンド
@ -110,12 +113,13 @@ terse
普通の他のフォアグラウンドではないウィンドウよりもつねに上にあります。
このウィンドウより上になるのは、他のフォアグランドウィンドウだけです。
ウィンドウは、端末画面の辺内に完全に入っている必要はありません。
したがって、(画面よりも大きくても良い)大きいウィンドウは、その全画面の
したがって、(画面よりも大きくても良い) 大きいウィンドウは、その全画面の
一部分だけが表示されるでしょう。
.Pp
各ウィンドウは、カーソルと制御機能を持っています。
インテリジェント端末の大抵の動作、
すなわち行や文字の消去や挿入が提供されています。下線を引いたり反転表示等の
すなわち行や文字の消去や挿入が提供されています。
下線を引いたり反転表示等の
ディスプレイモードは、端末によって提供されている場合には、利用可能です。
更に、複数ページ分のメモリがある端末と同じように、各ウィンドウは
ウィンドウ画面に表示されるよりも多くの行を保持できるテキストバッファを
@ -124,21 +128,21 @@ terse
新しく作成されたウィンドウでは、
呼び出されたウィンドウからプロセス環境を引き継いで、
シェルプログラムが実行されます。
標準入力・出力・エラー出力は、仮想端末 (
.Xr pty 4
標準入力・出力・エラー出力は、仮想端末
.Xr ( pty 4
参照) または、
.Ux
ドメインのソケット (
.Xr socketpair 2
ドメインのソケット
.Xr ( socketpair 2
参照)と結びつけられます。
仮想端末が使われている場合、特別な文字やモード(
.Xr stty 1
参照)は、物理端末から複製されます。
仮想端末が使われている場合、特別な文字やモード
.Xr ( stty 1
参照) は、物理端末から複製されます。
このウィンドウに対する
.Xr termcap 5
のエントリが作成されて、環境として(
.Xr environ 7
参照)変数
のエントリが作成されて、環境として
.Xr ( environ 7
参照) 変数
.Ev TERMCAP
に渡されます。
termcap エントリには、下線・反転表示・その他の表示モード・
@ -155,9 +159,11 @@ termcap
は、二つの状態の内の一つの状態にあります。
この二つの状態は、会話モードとコマンドモードです。
会話モードでは、端末の実際のカーソルは、特定のウィンドウのカーソル位置
に位置します。この特定のウィンドウはカレントウィンドウと呼ばれます。
に位置します。
この特定のウィンドウはカレントウィンドウと呼ばれます。
そして、キーボードからの入力は、そのウィンドウにあるプロセスに
送られます。カレントウィンドウは、他のウィンドウがフォアグランドに
送られます。
カレントウィンドウは、他のウィンドウがフォアグランドに
ある時を除いて、いつも他のウィンドウよりも上にあります。
更に、その識別子とラベルは反転表示で強調されています。
.Pp
@ -170,7 +176,7 @@ termcap
.Nm
はキーボードからの入力をウィンドウを操作するコマンドであると解釈します。
.Pp
二つの種類のコマンドがあります。ショートコマンドは普通 1文字ないし 2文字
二つの種類のコマンドがあります。ショートコマンドは普通一文字ないし二文字
から構成されます。ロングコマンドはコマンドウィンドウ (以下の
.Dq Ic \&:
コマンドを参照) で入力される文字列もしくは、ファイル (以下の
@ -180,11 +186,12 @@ termcap
以下では、
.Ar \&#
は、ウィンドウ 1 から 9 に結びつけられた、
数字の ``1'' から ``9'' のひとつを表現します。
数字の ``1'' から ``9'' のつを表現します。
.Ic ^X
は、
.No control\- Ns Ar X
を意味します。ここで、
を意味します。
ここで、
.Ar X
は任意の文字です。
特に、
@ -213,7 +220,8 @@ termcap
.It Ic ^P
会話モードに戻り、現在のウィンドウに
.Ic ^P
を書き込みます。したがって、会話モード中で二つの
を書き込みます。
したがって、会話モード中で二つの
.Ic ^P
を入力することで、一つを現在のウィンドウに送ることができます。
.Nm
@ -232,21 +240,29 @@ termcap
.Nm
を中断します。
.It Ic w
新しいウィンドウを作成します。ユーザはウィンドウの左上の場所と
右下の場所を指定します。カーソルが画面上に表示され、
``h'', ``j'', ``k'', ``l'' キーでカーソルをそれぞれ 左 , 下 , 上 , 右
新しいウィンドウを作成します。
ユーザはウィンドウの左上の場所と
右下の場所を指定します。
カーソルが画面上に表示され、
``h'', ``j'', ``k'', ``l'' キーでカーソルをそれぞれ左、下、上、右
に移動します。
``H'', ``J'', ``K'', ``L'' キーでは、カーソルはそれぞれの方向の
画面の限界まで移動します。移動キーの前に数字を入力することで、
移動を数字の回数だけ繰り返します。リターンでカーソル位置をウィンドウの
左上の位置として入力します。右下の角も同じような方法で入力します。
画面の限界まで移動します。
移動キーの前に数字を入力することで、
移動を数字の回数だけ繰り返します。
リターンでカーソル位置をウィンドウの
左上の位置として入力します。
右下の角も同じような方法で入力します。
この手続き中には、新しいウィンドウの位置は画面に表示される長方形の
箱として示されます。この枠が、新しいウィンドウが表示される枠です。
箱として示されます。
この枠が、新しいウィンドウが表示される枠です。
エスケープキーを入力することで、どの時点でも、このコマンドを
キャンセルします。
.Pp
このウィンドウはカレントウィンドウになります。そして、最初に利用可能な
ID が与えられます。また、デフォルトのバッファサイズが使われます (以下の
このウィンドウはカレントウィンドウになります。
そして、最初に利用可能な
ID が与えられます。
また、デフォルトのバッファサイズが使われます (以下の
.Ar default_nline
コマンドを参照)。
.Pp
@ -307,10 +323,11 @@ ID
.It Ic l
カレントウィンドウのカーソルを一カラム右に動かします。
.It Ic y
ヤンクします。ユーザはカレントウィンドウの 2点を指定します。
この 2点で示される内容がヤンクバッファに保存されます。
ヤンクします。ユーザはカレントウィンドウの点を指定します。
この点で示される内容がヤンクバッファに保存されます。
.It Ic p
プットです。ヤンクバッファの内容を、現在のウィンドウに入力として
プットです。
ヤンクバッファの内容を、現在のウィンドウに入力として
書き込みます。
.It Ic ^S
カレントウィンドウの出力を停止します。
@ -335,10 +352,11 @@ ID
以下の例は規則にあった文字列です。
abcde01234, "&#$^*&#", ab"$#"cd, ab\\$\\#cd, "/usr/ucb/window"
.Pp
数字は、以下の3つの形式のうちの一つの整数値です。
10進数・``0'' に続いて表現される 8 進数・``0x'' もしくは ``0X'' に続いて
数字は、以下のつの形式のうちの一つの整数値です。
10 進数・``0'' に続いて表現される 8 進数・``0x'' もしくは ``0X'' に続いて
表現される 16 進数です。機械にとって自然な整数サイズが使われます
(つまり、 Cコンパイラの符号付き整数型です)。 C 言語と同じように、
(つまり、 Cコンパイラの符号付き整数型です)。
C 言語と同じように、
非 0 の表現が論理的な真をあらわします。
.Pp
文字 ``#'' は、行末までのコメントの始まりを表現します。
@ -374,8 +392,9 @@ endif
は数値である必要が有ります。
.Ss
.Nm
における式は、 C 言語中のものと似ており、ほとんどの C の演算子が
数値オペランドとして提供されています。更に、いくつかの演算子は、
における式は、C 言語中のものと似ており、ほとんどの C の演算子が
数値オペランドとして提供されています。
更に、いくつかの演算子は、
文字列を操作するために拡張されています。
.Pp
ある式が文として使われている時、その値は評価の後で
@ -393,7 +412,8 @@ endif
.Ic =
.Aq Va expr2
.Xc
代入です。名前が
代入です。
名前が
.Aq Va expr1
で文字列を値として持つ変数に、
.Aq Va expr2
@ -424,7 +444,9 @@ endif
.Ic \&|\&|
.Aq Va expr2
.Xc
論理的和 (or) です。数値だけが使えます。短絡評価が提供されています
論理的和 (or) です。
数値だけが使えます。
短絡評価が提供されています
(つまり、
.Aq Va expr1
が評価されて真である場合は、
@ -435,25 +457,29 @@ endif
.Ic \&&\&&
.Aq Va expr2
.Xc
短絡評価付きの論理的積 (and) です。数値だけが使えます。
短絡評価付きの論理的積 (and) です。
数値だけが使えます。
.It Xo
.Aq Va expr1
.Ic \&|
.Aq Va expr2
.Xc
ビット毎の論理和 (or) です。数値だけが使えます。
ビット毎の論理和 (or) です。
数値だけが使えます。
.It Xo
.Aq Va expr1
.Ic ^
.Aq Va expr2
.Xc
ビット毎の排他的論理和 (xor) です。数値だけが使えます。
ビット毎の排他的論理和 (xor) です。
数値だけが使えます。
.It Xo
.Aq Va expr1
.Ic \&&
.Aq Va expr2
.Xc
ビット毎の論理積 (and) です。数値だけが使えます。
ビット毎の論理積 (and) です。
数値だけが使えます。
.It Xo
.Aq Va expr1
.Ic ==
@ -462,9 +488,11 @@ endif
.Ic !=
.Aq expr2
.Xc
(それぞれ、等価と非等価の) 比較です。ブール値の結果 (1 か 0 のどちらか)
(それぞれ、等価と非等価の) 比較です。
ブール値の結果 (1 か 0 のどちらか)
が比較の結果として返されます。
オペランドは、数値もしくは文字列です。片一方が文字列の場合、
オペランドは、数値もしくは文字列です。
片一方が文字列の場合、
他のオペランドも必要であれば変換されます。
.It Xo
.Aq Va expr1
@ -501,7 +529,7 @@ endif
.Aq Va expr1
が文字列で、最初 (もしくは、最後) の
.Aq Va expr2
文字が返されます(
文字が返されます (
.Aq Va expr2
も文字列の場合、その長さがその値として利用されます)。
.It Xo
@ -536,7 +564,7 @@ endif
.Ic \&$ Ns Aq Va expr ,
.Ic \&$? Ns Aq Va expr
.Xc
最初の 3つは、単項演算子のマイナス・ビット毎の補をとる (ビットの反転)
最初の つは、単項演算子のマイナス・ビット毎の補をとる (ビットの反転)
・論理的な否定であり、数値だけを取ります。
演算子 ``$'' は
.Aq Va expr
@ -560,21 +588,24 @@ endif
ユーザ定義の別名マクロの完全な名前でなくてはなりません。
組み込み関数の場合、
.Aq Ar arglist
は以下の 2つの形式のどちらか一方です。
は以下の つの形式のどちらか一方です。
.Bd -literal -offset indent
<expr1>, <expr2>, ...
argname1 = <expr1>, argname2 = <expr2>, ...
.Ed
.Pp
実際、両方の形式はお互い混ぜて使うことができますが、その結果は
予想できません。ほとんどの引数は省略可能です。デフォルトの値が
予想できません。
ほとんどの引数は省略可能です。
デフォルトの値が
それらに対しては適用されます。
.Ar argnames
は、引数名を区別できる範囲でのプレフィックスとすることができます。
引数を分離するコンマは、曖昧さを避けるためだけに用いられ、
通常は省略できます。
.Pp
最初の引数の形式は、ユーザ定義別名のために有効です。別名は、
最初の引数の形式は、ユーザ定義別名のために有効です。
別名は、
.Ic alias
組み込み関数を使うことで定義されます(以下参照)。
引数は、変数機能の変種を使ってアクセスされます (前述の ``$''
@ -583,13 +614,14 @@ argname1 = <expr1>, argname2 = <expr2>, ...
ほとんどの関数は値を返しますが、いくつかは副作用のためだけに
使われるため文として使われなければなりません。
関数や別名が文として使われた時、引数リストを囲むカッコは
省略可能です。別名は値を返しません。
省略可能です。
別名は値を返しません。
.El
.Ss 組み込み関数
引数は自然な順番で名前で並べられます。
オプション引数は、四角カッコ
.Sq Op
で囲みます。名前の無い引数は、カッコ
で囲みます。名前の無い引数は、カッコ
.Sq <>
内に書きます。
ブール値のフラグを意味する引数 (しばしば
@ -612,7 +644,8 @@ argname1 = <expr1>, argname2 = <expr2>, ...
.Aq Ar string
が表現
.Aq Ar string\-list
の別名として定義されます。もし存在すれば、以前の
の別名として定義されます。
もし存在すれば、以前の
.Aq Ar string
の定義が返されます。デフォルトでは、
.Aq Ar string\-list
@ -623,7 +656,8 @@ argname1 = <expr1>, argname2 = <expr2>, ...
.Aq Ar window\-list
が単語
.Ar all
の場合、全てのウィンドウが閉じられます。値は返しません。
の場合、全てのウィンドウが閉じられます。
値は返しません。
.It Ic cursormodes Ns Pq Bq Ar modes
ウィンドウカーソルを
.Ar modes
@ -637,9 +671,10 @@ argname1 = <expr1>, argname2 = <expr2>, ...
.Ar m_blk
(点滅)、
.Ar m_grp
(グラフィック、端末依存です)で示される
(グラフィック、端末依存です) で示される
モードビットのビット毎の論理和です。
以前のモードの値が返されます。引数に何も指定しないと変更を行いません。
以前のモードの値が返されます。
引数に何も指定しないと変更を行いません。
例えば、
.Li cursor($m_rev$m_blk)
は、ウィンドウカーソルを点滅する反転表示に設定します。
@ -647,8 +682,10 @@ argname1 = <expr1>, argname2 = <expr2>, ...
デフォルトバッファサイズを
.Ar nline
に設定します。
初期設定では、 48 行になっています。古いデフォルトバッファサイズが
返されます。引数に何も指定しないと変更は行いません。とても大きなバッファを
初期設定では、48 行になっています。
古いデフォルトバッファサイズが
返されます。引数に何も指定しないと変更は行いません。
とても大きなバッファを
使うと、プログラムの速度が低下します。
.It Ic default_shell Ns Pq Bq Aq Ar string\-list
デフォルトのウィンドウシェルプログラムを
@ -662,7 +699,7 @@ argname1 = <expr1>, argname2 = <expr2>, ...
.It Ic default_smooth Ns Pq Bq Ar flag
コマンド
.Nm
(以下参照)への
(以下参照) への
.Ar smooth
引数のデフォルトの値を設定します。
引数はブール値フラグ (上記の
@ -687,11 +724,13 @@ argname1 = <expr1>, argname2 = <expr2>, ...
文字列はウィンドウにだけ表示され、ウィンドウ中のプロセスには
影響を与えません (以下の
.Ic write
を参照)。 値は返されません。デフォルトはカレントウィンドウです。
を参照)。
値は返されません。デフォルトはカレントウィンドウです。
.It Ic escape Ns Pq Bq Ar escapec
エスケープ文字を
.Ar escape-char
に設定します。古いエスケープ文字を一文字の文字列として返します。
に設定します。
古いエスケープ文字を一文字の文字列として返します。
引数に何も指定しないと変更を行いません。
.Ar escapec
は、一文字の文字列か、
@ -706,7 +745,8 @@ argname1 = <expr1>, argname2 = <expr2>, ...
.Nm
をフォアグラウンドに動かしたり、フォアグラウンドから外したりします。
.Ar flag
はブール値です。古いフォアグランドフラグが返されます。
はブール値です。
古いフォアグランドフラグが返されます。
.Nm
に対するデフォルトはカレントウィンドウで、
.Ar flag
@ -723,14 +763,17 @@ argname1 = <expr1>, argname2 = <expr2>, ...
.Nm
に対するデフォルトはカレントウィンドウで、
.Ar label
に対するデフォルトは無変更です。ラベルを無くすためには、
に対するデフォルトは無変更です。
ラベルを無くすためには、
空文字列 ("") を設定します。
.It Ic list Ns Pq
引数はありません。 全てのウィンドウの ID と ラベルが表示されます。
引数はありません。
全てのウィンドウの ID と ラベルが表示されます。
値は返されません。
.It Ic select Ns Pq Bq Ar window
.Nm
をカレントウィンドウとします。以前のカレントウィンドウが返されます。
をカレントウィンドウとします。
以前のカレントウィンドウが返されます。
引数を指定しないと変更を行いません。
.It Ic source Ns Pq Ar filename
.Ar filename
@ -739,7 +782,8 @@ argname1 = <expr1>, argname2 = <expr2>, ...
.It Ic terse Ns Pq Bq flag
簡素 (terse) モードを
.Ar flag
に設定します。簡素モードでは、コマンドウィンドウはコマンドモード中
に設定します。
簡素モードでは、コマンドウィンドウはコマンドモード中
でさえ隠されたままで、エラーは端末のベルをならすことで報告されます。
.Ar flag
は、上記の
@ -751,14 +795,17 @@ argname1 = <expr1>, argname2 = <expr2>, ...
別名定義
.Ar alias
を消去します。
別名がない場合には -1 を返します。それ以外の場合は 0 を返します。
別名がない場合には -1 を返します。
それ以外の場合は 0 を返します。
.It Ic unset Ns Pq Ar variable
.Ar variable
変数の定義を消去します。
.Ar variable
が存在しない場合には -1 を返します。それ以外の場合は 0 を返します。
が存在しない場合には -1 を返します。
それ以外の場合は 0 を返します。
.It Ic variables Ns Pq
引数はありません。全ての変数を表示します。値は返されません。
引数はありません。
全ての変数を表示します。値は返されません。
.It Xo
.Ic window Ns ( Bq Ar row ,
.Bq Ar column ,
@ -787,14 +834,14 @@ argname1 = <expr1>, argname2 = <expr2>, ...
.Ar column ,
.Ar nrow ,
.Ar ncol
に対するデフォルトの値は、それぞれ画面の一番上, 一番左, 一番下, 一番右
に対するデフォルトの値は、それぞれ画面の一番上、一番左、一番下、一番右
になります。
.Ar label
は、ウィンドウのラベル文字列です。
.Ar frame ,
.Ar pty ,
.Ar mapnl
は、 (上記の)
は、(上記の)
.Ar foreground
への引数と同じ方法で解釈されるフラグの値です。
これはそれぞれ、このウィンドウの周りに枠を付けるか (デフォルトでは真)、
@ -808,14 +855,15 @@ argname1 = <expr1>, argname2 = <expr2>, ...
が真である時、より端末らしい振舞いを実現するために、
画面は (このウィンドウに対して) より頻繁に更新されます。
.Ar smooth
のデフォルトの値は、 (上記)
のデフォルトの値は、(上記)
.Ar default_smooth
コマンドで設定します。
.Ar shell
は、このウィンドウ内でシェルプログラムとして使われる文字列のリストです
(デフォルトは、上記
.Ar default_shell
で指定されたプログラムです)。 作成されたウィンドウの ID が数字で
で指定されたプログラムです)。
作成されたウィンドウの ID が数字で
返されます。
.It Xo
.Ic write Ns ( Bq Ar window ,
@ -824,18 +872,20 @@ argname1 = <expr1>, argname2 = <expr2>, ...
.Nm
に空白で分割されているが最後に改行の無い文字列リスト
.Aq Ar string-list
を送ります。 文字列は、実際にウィンドウの入力として使われます。
を送ります。
文字列は、実際にウィンドウの入力として使われます。
値は返しません。 デフォルトはカレントウィンドウです。
.El
.Ss 定義済み変数
これらの変数は、情報のためだけにあります。これらを再定義しても、
これらの変数は、情報のためだけにあります。
これらを再定義しても、
.Nm
の内部操作には影響ありません。
.Bl -tag -width modes
.It Ar baud
50 から 38400の間のボーレートです。
.It Ar modes
物理端末で提供されている(反転表示・下線・点滅・グラフィック等の)
物理端末で提供されている (反転表示・下線・点滅・グラフィック等の)
表示モードです。
.Ar modes
の値は、1 ビット値
@ -843,7 +893,7 @@ argname1 = <expr1>, argname2 = <expr2>, ...
.Ar m_grp ,
.Ar m_rev ,
.Ar m_ul
(以下参照)のビット毎の論理和になっています。
(以下参照) のビット毎の論理和になっています。
これらの値は、ウィンドウのカーソルモードを設定する時に便利です (上の
.Ar cursormodes
参照)。
@ -863,7 +913,7 @@ argname1 = <expr1>, argname2 = <expr2>, ...
端末の形式です。
端末の
.Ev TERMCAP
エントリの 2番目のフィールドに書かれている標準名が使われます。
エントリの 2 番目のフィールドに書かれている標準名が使われます。
.El
.Sh 環境変数
.Nm