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

22. 他の Elisp や標準機能を拡張する Elisp (2008/08/22)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=relate%20elisp"
"MeadowMemo/他のElispや標準機能を拡張するElisp"へのコメント(無し)
検索全文Elisp


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



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

22.1 いろんなものを階層化して表示 ― ee (2003/08/08)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=ee"
"MeadowMemo/いろんなものを階層化して表示―ee"へのコメント(無し)
検索全文Elisp

ee - categorizing information manager

要約

ChangeLog や imenu , dired などなどをアウトラインのように階層化して表示できます.

例えば, ChangeLog.Meadow は

- Hideyuki SHIRAI  <mailadress> (4)
 - 2001 (4)
  - 02 (2)
   2001-02-24   README.Meadow.ja
   2001-02-24   README.Meadow
  + 03 (1)
  + 05 (1)
+ KOSEKI Yoshinori  <mailadress> (11)
+ Keiichiro Nagano  <mailadress> (5)
+ Koichiro OHBA  <mailadress> (4)
+ Koichiro Ohba  <mailadress2> (6)
+ Kyotaro HORIGUCHI  <mailadress> (1)
+ Kyotaro HORIGUCHI <mailadress2> (4)
+ MIYASHITA Hisashi  <mailadress> (37)
+ MIYASHITA Hisashi  <mailadress2> (11)
+ MIYOSHI Masanori  <mailadress> (40)
+ Miyashita Hisashi  <mailadress3> (53)
+ Shuichi KITAGUCHI  <mailadress> (6)
+ Shuichi KITAGUCHI  <mailadress2> (1)
+ Shun-ichi GOTO  <mailadress> (21)
+ Yoshiki Hayashi  <mailadress> (1)

こうなります. himi さん,さすが!!

何が問題なのか

基本的に Meadow の出力はずらずらっと出てきます.

例えば,バッファリストではバッファの一覧が全く分類されずに表示されます.

M-x customize は階層化されていますが,上の階層と下の階層を行ったり来たりし て,目的の場所を探すのは大変です.

何ができるのか?

Meadow が表示する様々な情報を階層化して表示することができます.例えば,M-x customizeなら

   Meadow
 - editing (15)
    killing
    indent
    paragraphs
    bm

といった風になります.カーソルの左右キーで各階層を閉じたり開いたりできるので,簡 単に目的の場所を見つけることができます.

インストール方法

http://www.jurta.org/emacs/ee/からダウンロードし,解凍します.できたディ レクトリを site-lisp へ置きます. view というディレクトリも必要です.

ただし, elc ファイルは消しておいた方がいいかもしれません.

設定方法

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

 
(require 'ee-autoloads)
(setq ee-textfile-changelog-name-regexp
      "[(].*[)][ ]*\\([^<(]+?\\) [ \t]*[(<]\\([A-Za-z0-9_.-]+@[A-Za-z0-9_.-]+\\) [>)]")

詳しい使い方

M-x eeとします.そうすると,階層化されたメニューが表示されます.

適当なものを選び,RETで実行できます.ただし,一部の機能は動作するバッファ が限られています.

このような階層化された画面の基本操作は以下になります.ただし,一部のキーは実行で きないこともあります.

他にもいろいろあります.M-x help-for-help bで確認して試してみてください.

では,以下で便利な機能を紹介していきます.

アウトラインとの組み合わせ ― ee-outline

Meadow/Emacs 標準のアウトラインモードは非常に使いにくいものです

それがM-x ee-outline(あるいはM-x eeで選択) とすると,以下のように表示 できます.階層の非表示も簡単ですし,非常に便利です.

- 
 - (no-heading)
  - @chapter Meadow のインストール
   - @section Meadow を簡単にインストール ― Netinstall
      @subsection Netinstall でインストールできるパッケージリスト ver.1.15
      @subsection Netinstall でインストールできるパッケージリスト ver.2
     @section Meadow の設定 ― 環境変数,.emacs の作成
   - @section Cygwin
      @subsection Cygwin 文字色を変更する
     @section 関連ソフトのインストール

clmemo との組み合せ

clmemo には日付けでまとめるといった機能はありません.しかし,M-x eeの ee-textfile-changelog を使うと,

- 2003 (244)
 - 07 (12)
  - 24  (1)
   Akihisa          meadowmemo
  + 23  (1)
  + 20  (1)
  + 17  (2)

といった風に日付けでまとめることができます.ここで,vとすると,著者別やファ イル名別 (clmemo なら話題別) に表示することもできます.

その他のもの

その他にも

など多彩な機能があります.

アウトラインの該当個所を表示

ee のアウトライン表示で該当箇所を別ウィンドウに表示できる.

 
(defadvice previous-line
  (after ee activate)
  (if (and (eq major-mode 'ee-mode)
           (string-match "ee-outline" (buffer-name (current-buffer))))
      (ee-outline-display-buffer)))

(defadvice next-line
  (after ee activate)
  (if (and (eq major-mode 'ee-mode)
           (string-match "ee-outline" (buffer-name (current-buffer))))
      (ee-outline-display-buffer)))

(defadvice ee-view-record-select-or-expansion-show-or-hide
  (around ee-delete-window activate)
  (if (and (eq major-mode 'ee-mode)
           (string-match "ee-outline" (buffer-name (current-buffer))))
      (progn
        ad-do-it
        (delete-other-windows))
    ad-do-it))



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

22.2 ローカル変数をディレクトリ単位で設定 ― dirvars (2004/02/03)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=dirvars"
"MeadowMemo/ローカル変数をディレクトリ単位で設定―dirvars"へのコメント(無し)
検索全文Elisp

何が問題なのか?

Meadow ではファイル毎に設定を行うことができます.しかし, そのためにはファイルの冒頭に設定を書き込む必要があります.

100 個ファイルがあれば, 100 個全部に書く必要があるわけです.後で設定を変更した いと思っても,変更するのは至難の業です.

何ができるのか?

ディレクトリに対してローカル変数を設定することができます.これにより, 100 個ファ イルがあっても 1 個のファイルで済みます.

インストール方法

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

設定方法

以下を.emacs に追加します

 
(require 'dirvars)

詳しい使い方

ローカル変数を設定したいディレクトリに「.emacs-dirvars 」というファイルを作成し, そのファイルにローカル変数の設定を書きます.

以下は設定例.

 
;; -*- emacs-lisp -*-
;;
;; This file is processed by the dirvars emacs package.  Each variable
;; setting below is performed when this dirvars file is loaded.
;;
indent-tabs-mode: nil
tab-width: 8
show-trailing-whitespace: t
indicate-empty-lines: t

うまく動かない

「.emacs-dirvars 」を作成したディレクトリのファイルをすでに開いているようであれば, 一度閉じてから試してみてください.



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

22.3 ヘルプ(Info) にしおりを − infobook (2008/08/22)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=infobook"
"MeadowMemo/ヘルプ(Info)にしおりを−infobook"へのコメント(無し)
検索全文Elisp
要約

ヘルプ(Info)の任意のページに対して,しおりをつけておいて,後で,そのしおりをつけ たページに簡単に移動することができます.

何が問題なのか?

ヘルプは便利なのですが,後でまたアクセスしたいと思っても,そこを記録しておく術が ありません.

L でアクセスしたヘルプの履歴を辿るという方法はありますが.

何ができるのか?

Info の任意のページにしおりをつけ,そこへ簡単にアクセスすることができるようにな ります.

設定済みMeadowでは

インストールしていません.

インストール方法

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

設定方法

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

 
(require 'infobook)

詳しい使い方

まずは,M-x help-for-help とし,ヘルプを起動し,読みたいページを読みます.

で,後で読みたいところを見つけたら,M-x infobook-add-current-node とします. すると,ミニバッファに

Entry name (default "Basic Usage"):

のように表示されます.そのまま,RET と入力すると,デフォルトの名前でしおり がつくられます.名前を入力して RETを入力すると,その名前でしおりが作られま す.

こうして,しおりを作った後で,M-x infobook-goto-node として,しおりの名前 を入力すると,そのしおりをつけたページを表示できます.

作成したしおりは自動的に保存され,起動時に読み込まれます.


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