朝顔日記

覚え書き(2)

2002-11-28

懲りずに続く謎な覚え書きです。(w

xyzzy を使う上で最初、何が困るといって、マニュアルがないことが一番困るのではないでしょうか。なんでマニュアルがないかというと、なんでも作者の亀井さんは、親の遺言でドキュメントは書いてはいけないことになっているからだそうです。:p)

一応、ヘルプは装備しているんですが、ヘルプを開くと謎の文字列がずらっと並んで意味がわかりません。これでは、ヘルプのヘルプが必要です。それが、黒い羽根の、xyzzy のページです。キーバインドのところに便利なリファレンスがあります。html+-mode のカスタマイズ例なども載っているのがうれしいところ。

ところで、xyzzy は開いているフィルの種類によってモードが変わるようになっていています。何もカスタマイズしていない状態のものでも、例えば html ファイルを開けば、html-mode に、perl スクリプトなファイルを開けば、perl-mode に自動的に切り替わってくれます。その時、ヘルプの内容もそのモードの時のものになるので、注意が必要です。

これでヘルプが使えるようになったんですが、ヘルプを使うと戸惑うのは、窓がいきなり分割されて戻し方がわからなかったりすることではないでしょうか。私だけかも。(w C-x 1で復帰できるんですが、"*Help*"バッファが残ってちょっとイヤンな感じです。これは、以下の lisp をSiteinit.lにでも書いておくといい感じになります。


;; *grep*" "*Help*" "*Completion*"バッファがあったら削除して、ウィンドウを元に
(defun cleanup-window()
  (interactive)
  (let ((bufl (buffer-list)) buf name)
    (loop
      (setq buf (pop bufl))
      (if (null buf) (return nil))
      (setq name (buffer-name buf))
      (if (member-if
           #'(lambda (str) (string= name str))
           '(
             "*Abbrevs*"
             "*buf2html: HTML*"
             "*Buffer List*"
             "*Calendar*"
             " *Completion* "
             "*compilation*"
             "*dictionary*"
             "*grep*"
             "*FTP LOG*"
             "*Help*"
             "*PickupPatternShow*"
             "*Run Script*"
             "*Shell output*"
             "*Syntax Check*"
             "CSV: Convert"
             ))
          (progn
            (switch-to-buffer buf)
            (delete-buffer buf)
            )))
    (if (> (count-windows t) 2)
        (delete-window))))
(global-set-key #\S-F11 'cleanup-window)

ひえの xyzzyxyzzy の音に書いてあった技ですが、元々は2ちゃんねるの win 板、xyzzy スレ part4 の 400 さんの考案によるものの様です。私は、 S-F12 S-F11に割り当てています。

なお、蛇足ですが上の lisp をコピペする時は html のソースから取っては駄目です。ブラウザ上で行うのが吉。

「覚え書き(2)」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2002/11/diary_021128b.html