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

6 仮想フォルダ

Virtual モードは、必要なメッセージを表示するための仮想的なフォルダであ り、「セレクション」と「スレッド」の2種類に分類できます。

セレクション

いろいろなフォルダから必要なメッセージだけを集めた仮想フォルダです。フォ ルダ名の左側に "*" が付きます。

スレッド

フォルダ(Summary)やセレクション(Virtual)を基に、対話関係を行頭揃えによっ て可視化した仮想フォルダです。フォルダ名の両側に "*" が付きます。

Summary モードで利用できるコマンドの多くが、Virtual モードで利用できま す。

Virtual モードでメッセージにマークを付けると、対応する Summary モードが あれば、そちらのメッセージにもマークが付きます。逆に、Summary モードで あるメッセージにマークを付けても、Virtual モードの対応するメッセージに はマークは付きません。

Virtual モードからマークを処理することはできません。‘x’ を押しマー クを処理しようとすると、対応する Summary モードがあれば、そちらに移動 し、もう一度 ‘x’ を押すよう促されます。

仮想フォルダはまさしく仮想であり、ファイルシステムなどには存在しないこ とに注意して下さい。Emacs を終了すると、仮想フォルダはなくなります。 Virtual モードを消去する方法については、See section 一休み を参照して下さい。


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

6.1 セレクション

セレクションは、いろいろなフォルダから必要なメッセージだけを集めた仮想 フォルダです。セレクションの作り方には、以下の 5 つがあります。

m/

あるフォルダで、"*" マークが付いているメッセージのみを表示する。

S

あるフォルダで、メッセージをソートして表示する。(元のフォルダには、何の影響もない。) See section ソート を参照のこと。

V

現在のメッセージと対話関係にあるメッセージを表示する。See section 対話 を参照のこと。

/

あるフォルダから、検索条件に合致するメッセージを表示する。See section 検索 を参照のこと。

k/

すべてのフォルダから、検索条件に合致するメッセージを表示する。See section 検索エンジン を参照のこと。


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

6.2 ソート

メッセージをソートしセレクションを作成するには ‘S’ を使います。こ のとき次のようにどのフィールドでソートするか訊いてくるので、ソートした いフィールド名を入力して下さい。

Sort by? (default date): 

指定したフィールドに書かれている文字列は単純に文字列比較でソートするべ きではありません。たとえば、Subject: はテキストと考えてよいのですが、 Date: は日付、X-Mail-Count: は数字と考えてソートすべきです。このように 文字列をどう取り扱うかをモードといいます。ソートによく指定されるフィー ルド名に対するモードは ‘mew-sort-key-alist’ で設定されています。

ソートのモードを明示的に指定、変更したい場合には ‘:’ で区切って指定 します。たとえば X-Mail-Count: フィールドの内容を(テキストとしてではなく) 数値とみなしてソートしたい場合には、次のように入力します。

x-mail-count:num

フィールド名やモードは ‘TAB’ で補完できます。

モードには、以下の 4 つがあります。

text

先頭の "Re: " や "Fw: " を取り除いた文字列。

ml

text と同じであるが、さらにメーリングリスト特有の文字列も取り除く。

num

数値。

date

日付。

"Sort by?" と訊かれる際のフィールド名の初期値は、 ‘mew-sort-default-key’ で設定できます。以下は、初期値である"date" を "x-ml-count" に変更する例です。

(setq mew-sort-default-key "x-ml-count")

mew-sort-default-key-alist’ で、フォルダごとにフィールド名の初期 値を設定することもできます。ここで指定しなかったフォルダでは、フィール ド名の初期値として ‘mew-sort-default-key’ の値が使われます。以下は、 +inbox フォルダでの初期値を "subject" に、+mew-dist フォルダでの初期値 を "x-mail-count" に変更する例です。

(setq mew-sort-default-key-alist
      '(("+inbox" "subject")
        ("+mew-dist" "x-mail-count")))

なお、ローカル・フォルダでメッセージを本当にソートするためには ‘M-s’ を使って下さい。このコマンドは、リモート・フォルダでは利用で きません。


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

6.3 対話

Mew では、あるメッセージに関係するメッセージをさまざまなフォルダから集 めて仮想フォルダに一覧表示できます。これを「対話」と呼びましょう。後ほ ど説明するスレッド(See section スレッド)とは、以下の点で異なります。

対話の機能を使うには、まず ‘kI’ を実行し、データベースを作る必要が あります。新しく届くメッセージはデータベースに入らないので、‘kI’ は定期的に実行して下さい。‘kI’ は、データベースを差分更新します。 この方式は早いのですが、ゴミが残ることは避けられないので、ときどき ‘C-ukI’ を実行し、データベースを一から作り直して下さい。

対話を作成するには、注目しているメッセージの上で ‘V’ を押します。 このコマンドは、自分の子孫と、自分の先祖、そして自分だけを表示します。 自分の兄弟などは表示しません。一族全体を表示したいなら、一旦作った仮想 フォルダの一番上にあるメッセージ、すなわち一族の祖の上で、もう一度 ‘V’ を実行して下さい。


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

6.4 検索

Mew では、以下のようなメッセージの検索機能を提供しています。

?

現在のフォルダで、条件に合致したメッセージに ‘*’ マークを付ける。 入力された条件によって、‘mewl’ か ‘grep’ のどちらかが呼ばれる。

C-u?

リージョンを指定した ‘?’。

/

現在のフォルダで、条件に合致したメッセージからセレクションを作る。入力 された条件によって、‘mewl’ か ‘grep’ のどちらかが呼ばれる。

C-u/

リージョンを指定した ‘/’。

また、Spotlight や Windows Desktop Search などの検索エンジンを利用した 検索も可能です。これには、以下のコマンドがあります。

k?

現在のフォルダで、条件に合致したメッセージに ‘*’ マークを付ける。

k/

全フォルダに対し、条件に合致したメッセージからセレクションを作る。

C-uk/

指定されたフォルダに対し、条件に合致したメッセージからセレクションを作 る。フォルダを複数指定するには "," で区切る。ワイルドカードとして、"*" を利用できる。


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

6.5 検索条件の入力方法

?’ や ‘/’ を実行すると、Mew はユーザに対し以下のように検索の パターンを訊きます。

mewl/grep pick pattern: 

単純に「文字列」を 1 つ入力すると、Mew は ‘grep’ を呼び出します。ま た、「条件式」を入力すると、‘mewl’ を呼び出します。

条件式の書式を以下に示します。(結合力の強い順に並んでいます。)

field=string

フィールド field に文字列 string が含まれているときマッチ(大文字小文字を 区別しない)。field に "head" を指定した場合は、ヘッダ全体を意味する。

field==string

フィールド field に文字列 string が含まれているときマッチ(大文字小文字を 区別する)。field に "head" を指定した場合は、ヘッダ全体を意味する。

field!=string

フィールド field に文字列 string が含まれていないときマッチ(大文字小文字 を区別しない)。field に "head" を指定した場合は、ヘッダ全体を意味する。

field!==string

フィールド field に文字列 string が含まれていないときマッチ(大文字小文字 を区別する)。field に "head" を指定した場合は、ヘッダ全体を意味する。

( <pattern> )

<pattern> の内容を先に評価。

! <pattern>

<pattern> でないときマッチ。

<pattern1> & <pattern2>

<pattern1> かつ <pattern2> のときマッチ。省略可能。

<pattern1> | <pattern2>

<pattern1> または <pattern2> のときマッチ。

以下に例を示します。

(a) From: に kazu が含まれるメッセージ

from=kazu

(b) To: が mew、または、Cc: が mew であるメッセージ

to=mew | cc=mew

(c) To: が mew、または、Cc: が mew で、かつ、from が kazu である メッセージ

(to=mew | cc=mew) & from=kazu

?’ や ‘/’ で、パターンに入力の際に単純に ‘RET’ を押すと、 以下のように利用するコマンドまで入力できるようになります。

Cmd opts pattern: grep -l -e 

k?’ や ‘k/’ で検索エンジンを利用する場合は、上記のパターン(文字 列や条件式)が自動的に検索エンジンの書式に変換されます。

たとえば、kazu から来たメールで、「wine」を含み、かつ「bordeaux」を含ま ないという条件式は以下のように書きます。

from=kazu wine ! bordeaux

なお、‘mew-pick-pattern-list’ にパターンのリストを定義しておくと、 ‘C-cTAB’ で各要素を循環的に補完できます。この場合、リストの先頭が デフォルトとして表示されます。

日本語の全文検索をしたい場合は、("grep" の代わりに) "mg" をインストール し、以下のように設定して下さい。

(setq mew-prog-grep "mg")
(setq mew-prog-grep-opts '("-j" "jis" "-l" "-e" "-x" "&mime"))

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

6.6 検索エンジン

検索エンジンを操作するために以下のコマンドが用意されています。

km

そのフォルダのインデックスを作る。

kM

全体のフォルダのインデックスを作る。あるいは、作るために初期化する。

kc

検索エンジンを切り替える。

以下に、それぞれの検索エンジンの説明を示します。

Hyper Estraier

定期的に ‘kM’ を実行する必要があります。コマンドラインで、 "mewest" を実行しても構いません。あるフォルダのインデックスを急いで更新 したいなら ‘km’ でもよいでしょう。‘k?’ と‘k/’ の両方が利 用できます。‘C-uk/’でフォルダを指定すると、サブディレクトリも検索 になります。

Spotlight

一度だけ ‘kM’ を実行する必要があります。‘km’ は必要ありません。 ‘k?’ と ‘k/’ の両方が利用できます。

Windows Desktop Search

一度だけ ‘kM’ を実行する必要があります。‘km’ は必要ありません。

Google Desktop

一度だけ ‘kM’ を実行する必要があります。‘km’ は必要ありません。 ‘k/’ のみが利用できます。

検索エンジンの初期値は、最初に見つかった利用できるものに自動的に設定さ れます。明示的に指定したい場合は、‘mew-search-method’ に’est、’spotlight、’wds, ’google のどれかを指定して下さい。以下は、 Hyper Estraier に設定する例です。

(setq mew-search-method 'est)

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

6.7 キーワードの強調

検索に使ったキーワードは、バッファに保存されています。メッセージを表示 し、さらにキーワードをハイライトすることができます。この機能を提供する コマンドは以下の通りです。

M-n

下方向のメッセージへ移動しキーワードをハイライトして表示。Summary モー ドでは ‘*’ マークのついたメッセージが、Virtual モードではすべての メッセージが対象となる。このコマンドを繰り返し利用すると、キーワードの 付近が次々と表示されていく。キーワードが設定されていないなら、ユーザ にキーワードを訊く。

C-uM-n

キーワードを明示的に設定できること以外は、‘M-n’ に同じ。

M-p

M-n’ を逆方向にしたコマンド。

C-uM-p

C-uM-n’ を逆方向にしたコマンド。


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

6.8 スレッド

メッセージをやりとりしていると、対話の流れは木構造になります。これを行 頭揃えにより可視化したものをスレッドと呼びます。以下にスレッドの例を示 します。

  03/12 Hidenori Ohta  今週末                    |日曜にストーンマジック
  03/13 かずくん       ┣Re: 今週末              |雨なので、中にしますか
  03/15 Hidenori Ohta  ┃┗Re: 今週末            |それでは、12:00 に集合
  03/14 おだちゃん     ┗Re: 今週末              |いいねぇ。次はあれを落

スレッドは仮想フォルダとして実現されています。たとえば、+inbox に対しス レッドを作ると、*+inbox* というバッファが用意されます。

スレッドを作るために、以下のコマンドが用意されています。

tt

Summary モード、あるは、セレクションからスレッドを作る。そして、カーソ ルを現在のメッセージに移動する。もし、対応するスレッドがすでに存在して いるなら、スレッドに表示を切り替える。スレッドで使用された際は、元のフォ ルダへ移り、カーソルを現在のメッセージへ移動する。

C-utt

リージョンに対し、スレッドを作る。

mt

*’ マークの付いているメッセージに対し、スレッドを作る。

tr

正規表現に合致したメッセージに対し、スレッドを作る。


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

6.9 スレッドの操作

スレッドに特化した移動コマンドを以下に示します。

tp

現在のスレッドの頭に移動する。もし、あるスレッドの頭にカーソルがある場合 は、前のスレッドの頭に移動する。

tn

次のスレッドの頭に移動する。

^

親のメッセージに移動する。(スレッドでなくても利用可能)

&

長男のメッセージに移動する。(スレッドでなくても利用可能)

(

兄のメッセージに移動する。

)

弟のメッセージに移動する。

スレッドにマークを付けるコマンドを以下に示します。

t*

現在のメッセージを頭とする部分木に属するメッセージすべてに ‘*’ マー クを付ける。詳しくは See section 対象 ‘* を参照のこと。

t$

現在のメッセージを頭とする部分木に属するメッセージすべてに ‘$’ マー クを付ける。詳しくは See section 待避 ‘$ を参照のこと。

td

現在のメッセージを頭とする部分木に属するメッセージすべてに ‘D’ マー クを付ける。詳しくは See section 消去 ‘D’、‘X を参照のこと。

tM-d

現在のメッセージを頭とする部分木に属するメッセージすべてに ‘X’ マー クを付ける。詳しくは See section 消去 ‘D’、‘X を参照のこと。

to

現在のメッセージを頭とする部分木に属するメッセージすべてに ‘o’ マー クを付ける。詳しくは See section 整頓 ‘o を参照のこと。

スレッドからマークを消すコマンドは、‘tu’ です。

以下に、スレッドを加工するコマンドを示します。

tSPC

子供以下を隠して親だけにする。子供以下が隠れている親メッセージには、 "+" が付く。また、子供以下が隠れている親メッセージでこのコマンドを実行 すると、子供以下が現れる。

ta

すべてのスレッドに対し、子供の表示を反転させる。

tg

あるスレッドをあるメッセージに接ぎ木する。接ぎ木するスレッドは、 ‘C-SPC’ で指定する。目的のスレッドの一番上のメッセージで、 ‘C-SPC’ を押すと、そのスレッドが選択されたことになる。そして目的の メッセージへ移動し、‘tg’ を押すと、スレッドがこのメッセージの子供 として接ぎ木される。

なお、‘mew-use-thread-separator’ を ‘t’ にすると、スレッド間 に境界文字列として ‘mew-thread-separator’ (初期値は "–") が挿入さ れます。


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

This document was generated on February 16, 2023 using texi2html 5.0.