ネットワーク・ニュース/vin

					2012年06月26日
情報科学類 コンピュータリテラシ

                                       筑波大学 システム情報系 情報工学域
                                       新城 靖
                                       <yas@cs.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2012/2012-06-26 /netnews-vin.html
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/

vin

vin は、 ユーザがニュース・グループの木構造にそってニュース・グループ を選んでいくタイプのニュース・リーダ。 電子メールも読み書きできる。

配布元: ftp://ftp.delegate.org/pub/cosmos/

vin の特徴

その他、ソフトウェアの作り方にも着目する。利用者を想定した作り方。キー への機能の配置やヘルプの表示方法にも着目。

vinの3種類の画面

vin では、主に次の3種類の画面をつかう
グループリストレベル
画面にはニュース・グループ名、フォルダ名、以下で説明する「仮想ニュー ス・グループ」の名前、あるいは、それらの中間的な階層が表示される。
記事リストレベル
画面には、1行に1つの記事の From: や Subject: が並ぶ。 ユーザは、そこから読みたい記事や電子メールを選ぶ。
記事レベル
画面には、記事の内容が表示される。
最初の2つは、操作方法が似ている。 最後の画面も、less コマンドや lv コマンドの使い方と似ている。

vinの基本

実行方法
% vin [←]
終了するには、qキーを何度か押す。

最初に実行した時の画面

初めて vinを起動すると次のような表示がなされる。

図? vinを初めて起動したときの画面

図? vinを初めて起動したときの画面

8: ysato    (木)09/28-23:42  はじめてvinを使う人のために
vinは、カーソルの上下移動(j,k)、グループや記事の選択と脱出(i,
o)コマンド、および終了(q)だけで、一応使うことができます。

 行単位の移動 j,k 下の行へ(j),上の行へ(k) (カーソルキーも可)
 頁単位の移動 SP,b 次の頁へ(sp),前の頁へ(b)
 階層間の移動 i,o それに入る(in),ここから出る(out)
 vinの終了 q,Q 一旦最上位に戻って終了(q),即座に終了(Q)

 vinを起動すると、最初にグループの最上位の階層がリストされます。
読みたいグループにjやkでカーソルをあわせ、iを打てばそのグループに
入ります。
 これを繰り返していくと、やがて記事のリストが現れます。記事のリスト
の上で読みたい記事にカーソルをあわせ、iでその記事に入ります。
 記事中のメッセージIDの上でiを打つとその記事に入ります。元の記事に
戻るにはRETURNを打ちます。
 逆に記事やグループを上へ抜け出して行くためのコマンドがoです。

 SPACEおよびbはページめくりです。終了はqまたはQです。Qで終ると、
次のvinは前回の終了時の場所から始まります。

 コマンド一覧は^Hsで見られます。詳しい説明はcosmos.vin.manual、バー
ジョンアップ情報はcosmos.vin.historyというグループにあります。
再びこのイントロダクションを見たいときは、^Hiと打って下さい。
_
_
_
_
_
[-----]  cosmos.vin.manual:8 (23)   Hit 'q' to go to top level
画面一番下の行は、Emacs のエコー領域と同様に、メッセージが表示されたり、 キー入力が求められることがある。

vinの基本的な操作は、カーソルを動かし、そこにあるもを選択すること。

次の 4 つのキーは覚える。

j
カーソルを下へ
k
カーソルを上へ
i (in)
選択する
o (out)
もどる

グループリストレベル

vin を、2回目以降に実行すると、グループリストレベル の画面になる。 各行は、ニュースグループの階層(木構造の節)を表す。

左端の * は, そのニュースグループの最新の 記事が未読。

一番下の行にヘルプを表示する方法が示されている。 これに従い、^H と打つと、表示が変わる。

 HELP   i:intro   s:summary   k:describe key   o:desc-object   m:manual 
このページの末尾にvin でよく使うキーがある。

記事リストレベル

何度か項目を選ぶと、個々のニュース・グループや電子メールのメールボック スに行き着き、さらに、1つひとつの記事や電子メールを選ぶ画面 (記事リストレベルの画面)になる。行の先頭の「*」は、未読。

vin は、最新の記事から表示する。画面上端の次のような行は、古い記事を束 ねたもの。

 [2953-3133] 07/25-08/13{ 19}  (    0/181  ) ||||||||||||||||||-    
     ↑           ↑               ↑             ↑
   記事番号  記事の日付	       未読数/記事数  記事のヒストグラム
カーソルを画面の上端でさらに上に動かそうとすると, 記事を1つ 「ほぐす」ことができる。 JKを使うと複数個ほぐすことができる。

読みたい記事にカーソルを合わせて、i とうつと記事が読める。  ただし、そのニュースグループで初めて記事を読むときには, 次のようなメッ セージが画面の一番下に表示される。

 SUBSCRIBE news.group.name? (サブスクライブしますか?)   y:es / n:o  
普通は y を押してサブスクライブする。この結果、 ~/.newsrcにエントリが作られ、既読・未読の管理がなされる。

個々の記事を選択すると、次の 記事レベル になる。

記事レベル

前の 記事リストレベル で、何か記事を選ぶと 記事レベル の画面になります。 この画面では、 lv コマンドや less コマンドと と同様に、1つひとつの長い記事を、1ページ1ページめくるように読む。 主に次の役割を持つ SPACE キーを使い記事を読む。

1ページ戻るには、bキー、1つ上の節記事リストレベル にもどるに は、oキー。

仮想ニュースグループ

グループリストレベル の画面で、 fjcomp は、実際のニュースグループだが、 <Mail>{v:HideReadGroups}は、 vinの中でのみ存在する項目。 vin では、このようにあたかもニュースグループであるかのように 扱える項目を、 仮想ニュースグループ と呼んでいる。次のような種類がある。
{v:ListReadGroups}、{v:HideReadGroups}
画面一番下の {v:ListReadGroups}を選択すると、表示される ニュースグループがいくつか増え、{v:HideReadGroups}に 変わる。これが{v:ListReadGroups}になっていると、未 読記事のないニュースグループや<Mail>を表示 しない。
<Mail>
電子メールを読むためのグループ。 MH,Mew のメールボックスがアクセスできる。
<files>
 メール・ボックスなど、 あたかもニュースグループのように扱われている ファイルの一覧。
<previous>
 以前に読んだ記事をまとめたグループ。
<unsubscribed>
 ふだん読まないニュースグループをまとめたグループ。
NEWNEWS
 新着記事のあるニュースグループをまとめたグループ。
DRAFT
 投稿した (あるいは投稿しようとしたけれども途中でやめた) 記事を集めた グループ。エディタに渡した一時ファイルを集めたグループ。
cosmos、vin
 vinおよびCOSMOSのオンラインマニュアル。 たとえば、 cosmos.vin.manual という仮想グループの 8 番目の記事には、vin を最初に 実行した時に表示される記事が保存されいる。

個人ごとのニュース・グループの木構造

vin では、移動と別名という機能を使って個人的にニュース・グルー プの木構造を変更できる。

移動するには、グループリストレベル で移動させたいニュース・グループの上に カーソルを合わせ、t と打つ。すると次のように 問い合わせてくる。

=== Move 'News.group.name' to ===>> []

ここで、移動させたい階層を打ち込む。一番トップに移動させたい時には、 .

特別な移動先として<unsubscribed> を指定すると、 アンサブスクライブしたことになり、普段は見えなくなる。。

vinの別名機能は、Unixの シンボリック・リンク (後述) の機能とよく似ている。 別名を作りたいニュース・グループにグループリストレベル でカーソルを合わせ、 s と打つと、次のように問い合わせられる。

[Enter name] [] @ existing.newsgrop.name
@ の左に新しい名前を打ち込む。 これは、vin に対して「@の左を見たら右のを見ろ」と指示となる。

~/.vinrc

別名や移動や、参照したニュース・グループの履歴は、 ~/.vinrc というファイルに保存される。別名をたくさん作る時には、s で1つ ひとつ作るよりも、~/.vinrcをEmacs などのテキスト・エディタで修 正した方簡単である。別名は、~/.vinrc では、次のように保存さる。
alias@realname: @

動的なニュース・グループの構成

vin には、スレッド機能はないが、 g キーを使い、 動的にニュース・グループ を作り出す機能を使って、似たようができる。 さらに、スレッド機能を超え て複雑な絞り込みもできる。

g キー (go) は、階層を飛び超えて別のニュース・グループを読む 時に使う。

=== Go to ====>> []
ここで飛びたいニュース・グループ名を打ち、最後にリターンを打つと、そこ に飛ぶ。たとえば、
=== Go to ====>> news.group.name[←]
と打つと、news.group.name というグループの 記事を表示する。 Message-Id や 「news.group.name:num」という形式を 打つこともできる。

記事リストレベル で、g に続き、 シングルクォート ''で囲 まれた文字列を打ち込むと、「その文字列を含む記事だけが含まれたニュース・ グループ」に飛んでいくことを意味する。 たとえば、

=== Go to ====>> 'string'
と打つと、stringという文字列を含む記事を集め て、ニュース・グループをvin内部に動的に作成し、そこに視点を移すことに なる。次の例は、fj.unix で、 g 'uuencode' と打った所である。
 [  184 unread    - new ]      fj.unix.'uuencode'
 *[2953-3132] ------08/13{  -}  (  176/180  ) ||||||||||||||||||
これを、k を何度か打ち、解くと次のようにななる。
[  181 unread    - new ]      fj.unix.'uuencode'
 *[2953-2987] -----------{  -}  (   34/35   ) |||-----
 * 3085.08/08(土) kabe      (  13)  uuencode hated in USENET?
 * 3122.08/13(木) yas       (  30) |uuencode hated in USENET?
 * 3130.08/13(木) tss       (  15) |uuencode hated in USENET?
 * 3131.08/13(木) taca      (  20) |uuencode hated in USENET?
 * 3132.08/13(木) taca      (  21) |uuencode hated in USENET?
g に続いて打つ ''で囲まれた文字 列は、Subject: だけでなく From: にも使える。

ALL という特殊なグループを指定すると、複数のニュースグルー プを統合できる。たとえば、

=== Go to ====>> news.group.name.ALL[←]
と打つと、news.group.name.* のような名前のニュー ス・グループに含まれている全ての記事を、時間順序に並べて1つのニュース・ グループとして表示できる。

その他の機能

vinキーの割り当て

表? vin でよく使う機能

キー            動き
----------------------------------------------------------------------
^H		ヘルプ
q		終了
Q		終了(次回に同じ場所から再開)
i		入る、選択する。
o		抜ける、選択したものから抜ける。
j		カーソルを次の行へ移動
k		カーソルを前の行へ移動
SPACE		1ページ進める
b		1ページ戻る
J		上から束ねられた記事をほぐす
K		下から束ねられた記事をほぐす
c		記事を束ねる

m		既読マークを付ける/消す(トグル)
D		削除マークを付ける/消す(トグル)
l		表示形式の選択
r		再表示、削除の実行

s		ファイルへの保存(記事リストレベル,記事レベル)
s		別名を作る(グループリストレベル)
t		ニュース・グループ/電子メールの移動

S		記事を投稿する、電子メールを出す
F		フォローアップ
fa		複数の記事にフォローアップ
R		リプライ
ra		複数の電子メールにリプライ
C		記事をキャンセルする
/		記事を↓方向に検索
?		記事を↑方向に検索
^L		画面の再表示

n		次の未読のニュース・グループ/記事へ
p		前の未読のニュース・グループへ/記事へ
N		次のニュース・グループ/記事へ
P		前のニュース・グループへ/記事へ
^N		次の同一 Subject の記事へ
^P		前の同一 Subject の記事へ

^H s も参考になる。

vinを実行したときに, 次のようなメッセージが表示されることがある。

% vin [←]
[ vin ] COSMOS V2R0#15/97-08-04  // Yutaka Sato 
You seem to have another active vin:  yas@world:notty pid=15739
Start anyway ? (y:yes n:no) : []
これは, 他のホストや他の端末で vinを使っているときに, それを終 了せずに起動した可能性があることを意味する。

vinが異常終了した時にも表示される。 もし他の端末で使っていれば、nと打ち、 他の端末で使っている vinを終了してから、もう一度実行する。 他の端末では動いていない時には、yと打つ。


Last updated: 2012/06/25 17:43:56
Yasushi Shinjo / <yas@cs.tsukuba.ac.jp>