[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

65. ヘルプとトラブル対応関連 (2005/05/08)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=bug%20bug"
"MeadowMemo/ヘルプとトラブル対応関連"へのコメント(無し)
検索全文Elisp


この章で紹介していること

この章では困った時に役立つことを紹介していきます.前半がヘルプやマニュアルの読み 方,関連する Elisp ,後半がトラブル解決のための方法や知識などになります.

ただし,基本については以下で紹介しましたので,そちらを参照ください.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

65.1 man を 読む ― コマンドのヘルプ (2004/12/17)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=read%20man"
"MeadowMemo/manを読む―コマンドのヘルプ"へのコメント(無し)
検索全文Elisp

参考サイト:http://plaza28.mbn.or.jp/~kitaj/diary/200102.html#20010207-2

Unix の基本で述べた通り, Unix はたくさんのコマンドを組み合わせることでたくさんの 機能を実現できます.しかし,初心者にとっては,そもそもコマンドが何をするのかよく 分からないものです.

そこで, Unix には man というコマンドが用意されています.これは, bash で

man ls

のようにして実行します.これで, ls のマニュアルを読むことができます.

他のコマンドのマニュアルを読みたい場合には ls の部分を適当に変えると,入力したコ マンドのマニュアルを読むことができます.

また, bash で以下のように入力することも勉強になります.

% cd /bin
% for i in *; do
>     man $i
> done

これを実行すると,マニュアルのあるものが順番に次々と表示されます.最初の数行だけ でもさっと目を通していくと,どんなコマンドがあるかなということが把握できます.

65.1.1 コマンドのマニュアル (2004/12/16)  
65.1.2 man の検索 ― apropos (2004/12/16)  
65.1.3 man を Meadow で実行する (2004/12/16)  
65.1.4 man を Meadow で読む ― woman (2004/12/16)  
65.1.5 man と info を補完選択 ― iman (2004/12/17)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

65.1.1 コマンドのマニュアル (2004/12/16)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=command%20manual"
"MeadowMemo/コマンドのマニュアル"へのコメント(無し)
検索全文Elisp

man でマニュアルが用意されていない場合もあります.

その場合は, C:/cygwin/usr/info などに, Meadow で読むことのできる info ファイル が用意されている場合もあります.一度,エクスプローラなどで info というフォルダが ないか調べてみるといいです.そして,暇な時にでも少しずつ読んでいきましょう.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

65.1.2 man の検索 ― apropos (2004/12/16)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=man%20apropos"
"MeadowMemo/manの検索―apropos"へのコメント(無し)
検索全文Elisp

要約

Unix のコマンドである apropos , makewhatis の説明.

何が問題なのか?

man コマンドでコマンドの説明を見ることができますが,コマンド名が思い出せない時に は表示させることができません.

何ができるのか?

man コマンドで表示できるマニュアルをキーワードで検索できます.

インストール方法は?

パスについては自分の環境に合わせて,適宜読み換えてください.

Cygwin の man コマンドの他に, c:/cygwin/bin/apropos , c:/cygwin/usr/sbin/makewhatis , c:/cygwin/bin/whatis がインストールされている必 要があります.

無いようであれば, Cygwin のインストーラで入れておきます.

設定方法は?

まず c:/cygwin/usr/sbin/と c:/cygwin/bin/にパスが通っていることを確認します. bash を起動して,

makew

と入力し,TABを押してみてください.

makewhatis

と補完することができれば,問題ありません.

補完できたら,実行します.これで, man コマンドの目次を作成してくれます.

準備はこれで完了です.

詳しい使い方は?

man -l "ls"

としてみてください.そうすると,「 ls 」をコマンド名や説明に含むコマンドが表示され ます.

同じことは

apropos "ls"

としてもできます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

65.1.3 man を Meadow で実行する (2004/12/16)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=man%20on%20meadow"
"MeadowMemo/manをMeadowで実行する"へのコメント(無し)
検索全文Elisp

要約

Meadow から man コマンドを呼び出し,その結果を Meadow に表示する方法

何ができるのか?

Cygwin には man というコマンドが附属しています.これは,コマンドのマニュアルを読 むことができる機能です.

このコマンドを Meadow から呼び出し,その結果を Meadow に表示させることができます.

そのために, man.el を使用します.

インストール方法は?

man.el は Meadow に附属しています.当然ですが, man コマンドが必要です.

詳しい使い方は?

M-x manとします.その後で,知りたいコマンドを入力します.例えば,「 ls 」と 入力すると,以下のように出力されます.

LS (1)                                 FSF                                LS (1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List  information  about  the FILEs (the current directory by default).
       Sort entries alphabetically if none of -cftuSUX nor --sort.

       -a, --all
              do not hide entries starting with .

       -A, --almost-all
              do not list implied . and ..

また,M-x man RET -k "directory" RET と入力することで,apropos の結果一覧 が

FcConfigAppFontAddDir (3)  - Add fonts from directory to font database
FcDirCacheValid      (3)  - check directory cache timestamp
FcDirSave            (3)  - save a directory cache
FcDirScan            (3)  - scan a font directory
FcStrDirname         (3)  - directory part of filename
basename             (1)  - strip directory and suffix from filenames
bindtextdomain       (3)  - set directory containing message catalogs

のように表示されます.適当な行で m RET を入力するとそのマニュアルが表示され ます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

65.1.4 man を Meadow で読む ― woman (2004/12/16)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=woman"
"MeadowMemo/manをMeadowで読む―woman"へのコメント(2007/12/28)
検索全文Elisp

要約

man コマンドを利用せずに, Meadow で man を読む方法.

何が問題なのか?

UNIX には「 man 」というコマンドがあります.これは,入力したコマンドのマニュアル を読むことのできる機能です.

例えば,「 man ls 」とコマンドを入力すると,「 ls 」というコマンドの機能や使い方 のマニュアルを読むことができます.

このマニュアルは Cygwin をインストールすると,インストールされます.探せば,いく つかのフォルダに「 man 」や「 man1 」といったフォルダがみつかると思います.これ が,マニュアルです.

しかし,このファイルは普通にテキストエディタで見ても,

.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
.TH LS "1" "April 2001" "ls (fileutils) 4.1" FSF
.SH NAME
ls \- list directory contents
.SH SYNOPSIS
.B ls
[\fIOPTION\fR]... [\fIFILE\fR]...

といった風に,「.B 」など邪魔な文字がたくさんあって読みにくいものです (この「.B 」 などを man コマンドが解釈して,その部分を太字やアンダーラインにしています)

何ができるのか?

man ファイルを Meadow 上で読むことができます.当然,リンクはリンクとして機能しま すし,太字なども正しく表示してくれます.

設定済みMeadowでは

日本語マニュアルを付属して,日本語マニュアルが検索できるようにしてあります.

インストール方法は?

Meadow に附属しています.

設定方法は?

.emacs に以下を追加します. man のパスについては,適当に変更してください.「 man1 」 などのディレクトリを指定すればいいです.

 
(setq woman-cache-filename "~/.wmncach.el")
(setq woman-manpath '(
                      "c:/cygwin/usr/man"
                      "c:/cygwin/local/man"
                      "c:/cygwin/usr/autotool/devel/man"
                      "c:/cygwin/usr/local/man"
                      "c:/cygwin/usr/local/man/ja"
                      "c:/cygwin/usr/ssl/man"
                      "c:/cygwin/usr/X11R6/man"
                      "c:/cygwin/usr/man/ja"
                      "c:/namazu/man"
                      "c:/unix/local/kakasi/doc"
                      ))

詳しい使い方は?

M-x woman lsのようにすると,以下のようにマニュアルを読むことができます. 「 ls 」などのコマンド名はTABSPCで補完できます.

LS (1) -- April 2001 -- ls (fileutils) 4.1 -- FSF

NAME
     ls - list directory contents

SYNOPSIS
     ls [OPTION]... [FILE]...

DESCRIPTION

     List information  about the FILEs (the  current directory by
     default).  Sort  entries alphabetically if  none of -cftuSUX
     nor --sort.

うまく動かない

Meadow 1.15 には附属していませんので,動きません.そのため,以下のようにしてイン ストールする必要があります.

WoManからダ ウンロードして,ロードパスの通ったところへ置いておきます..emacs には上記の設定に 加えて,以下も追加しておきます.

 
(autoload 'woman "woman"
  "Decode and browse a UN*X man page." t)
(autoload 'woman-find-file "woman"
  "Find, decode and browse a specific UN*X man-page file." t)

コメント

日本語のマニュアルは http://www.linux.or.jp/JM/ にあります。設定済み Meadow にはこのマニュアルを付属してあります。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

65.1.5 man と info を補完選択 ― iman (2004/12/17)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=iman"
"MeadowMemo/manとinfoを補完選択―iman"へのコメント(無し)
検索全文Elisp

要約

M-x maninfo で読むマニュアルを補完しながら選択できます.

何が問題なのか?

M-x manM-x info(M-x help-for-help i) でマニュアルを読むことが できます.

しかし,M-x man では補完入力できませんので,正確に入力しなければなりません. info ではカーソルを移動させて選択する必要がありめんどくさい.

何ができるのか?

info や man を補完入力で選択できます. completing-help と使うと,簡単なコメントも表示 されます.

インストール方法は?

iman.elをダウンロー ドし,ロードパスの通ったところへ置きます.

また、makewhatis を実行し、 man コマンドの目次をあらかじめ作成 しておきます。

設定方法は?

以下を.emacs に追加します.

 
(setq iman-Man-index-command-and-args '("man" "-k" "[a-z]"))
(require 'iman)

詳しい使い方は?

M-x iman とします.そうすると, man や info を補完入力できます. man のコマ ンドが多いために, info は見つけにくいですが,ちゃんと info も選択できます.

このコマンドは初回はかなり遅いです.これは,マニュアルの一覧を作成しているためで す.

completing-help と組み合わせる

completing-help の設定 が iman よりも先にあると,補完ウィン ドウが

Possible completions are:
822-date (1)  - Print date and time in RFC822 format
AllPlanes (3)  - Display macros and functions
AnyDBM_File (3pm)  - provide framework for multiple DBMs
Archetype (n)  - base class for all [incr Tk] mega-widgets
AutoLoader (3pm)  - load subroutines only on demand
AutoSplit (3pm)  - split a package for autoloading
B (3pm)  - The Perl Compiler

のようになります.

うまく動かない

「 man program returned error exit status 1 」というエラーが表示され, 「*iman-man-index*」というバッファが表示されることがあります.

「*iman-man-index*」のバッファに man のコマンド一覧らしきものが表示されていれば, man コマンド部分については正常に動作しています.問題は Elisp です.関数 iman-make-Man-index の一部を下記のパッチのようにコメントにしてしまいます.

「*iman-man-index*」のバッファに man のコマンド一覧らしきものが表示されていなけれ ば,パスなどを確認します.後は, bash を起動し,「 man -k "[a-z]"」や「 man -k "ls"」 などと入力してみます.これで,コマンドの一覧が表示されれば,問題ありません.

これでもコマンドの一覧が表示されなければ,「 makewhatis 」を実 行したかを確認します.後は,パスを再確認します.

 
--- d:/akihisa/mylisp/iman.el   2003-07-09 12:29:27.000000000 +0900
+++ d:/akihisa/tmp/ediff1884etp 2003-07-09 12:29:37.000000000 +0900
@ -408,10 +408,10 @
                               buffer    ; > current temporary buffer
                               nil       ; no redisplay
                               args)))
-      (when (not (zerop exit-status))
-        (switch-to-buffer-other-window buffer)
-        (goto-char (point-max))
-        (error "%s program returned error exit status %s" program exit-status))
+;;      (when (not (zerop exit-status))
+;;        (switch-to-buffer-other-window buffer)
+;;        (goto-char (point-max))
+;;        (error "%s program returned error exit status %s" program exit-status))
 
     (with-current-buffer buffer
       (goto-char (point-min))



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

65.2 help-for-help に関連した設定 (2004/12/19)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=help-for-help%20config"
"MeadowMemo/help-for-helpに関連した設定"へのコメント(無し)
検索全文Elisp

M-x help-for-helpに関連した設定を紹介します.

65.2.1 ヘルプを拡張する ― helpex (2004/12/19)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

65.2.1 ヘルプを拡張する ― helpex (2004/12/19)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=helpex"
"MeadowMemo/ヘルプを拡張する―helpex"へのコメント(無し)
検索全文Elisp
要約

ヘルプにあるモードのキーバインド一覧表示などの機能を追加することができる.

何ができるのか?

M-x help-for-help でヘルプを呼び出すことができます。この画面ではいくつかの コマンドを実行することができます。

helpex.el を使うと、ここにコマンドを追加することができます。

インストール方法

http://groups.google.co.jp/groups?dq=&hl=ja&lr=&ie=UTF-8&oe=UTF-8&group=gnu.emacs.sources&c2coff=1&selm=buhb0j%24hu8n8%242%40ID-39741.news.uni-berlin.de,gnu.emacs.sources からコピーし, helpex.el としてロードパスの通ったところへ保存します.

設定方法

以下を.emacs に追加します.

 
(require 'helpex)
(helpex-setup-keys)

詳しい使い方

M-x help-for-help の後で,L を入力します.そして,「 gnus RET 」と入力 すると, gnus.el を開くことができます.

L の他に以下のようなキーが追加されます.