[xyzzy:04640] Re: Emacs 風 switch-to-buffer
- Subject: [xyzzy:04640] Re: Emacs 風 switch-to-buffer
- From: SENDA Shigeya <senda@xxxxxxxxxxxxxxx>
- X-mailer: Datula version 1.22.06 for Windows
はじめまして。
千田ともうします。ここに投稿するのは初めてです。
Yuhki Tsujiさんの<394D4C18.10F59B55@xxxxxxxxxxxxxxx>から
> はじめまして、つじといいます。最近 xyzzyを知り、いろいろと
>カスタマイズをやっています。もともとLinuxでMule 2.3を使っていたので
>なるべくEmacsに近づけようという方向でやってます。
>
いいですね。
> Emacsのバッファ切り替え(C-x b)はデフォルトではなにも入力されていなくて
>そのままリターンを押せば、デフォルトのバッファ(other-buffer)が選択され
>ます。私はバッファの名前をあまり覚えないほうなので、とりあえず
>スペースキーを押してバッファの一覧を表示させてから入力しています。
>xyzzyオリジナルのswitch-to-bufferだとすでにデフォルトのバッファが
>入力されている状態になっているので一度、デフォルトを消してからでないと
>バッファ一覧を表示できません。そこで下の関数を作ってみました。
>
*Minibuf0* って最下行のミニバッファのことですよね。
候補に含めても仕方がないし、なぜか名前が " *Minibuf0*" のように空白が
入っている。。。
なので、以下のように出さないように変えてみました。
(defun switch-to-buffer-emacs ()
(interactive)
(let* ((default (buffer-name (other-buffer)))
(prompt (format nil "Switch to buffer: (default ~A) " default))
(buffer (remove-if '(lambda (x) (string-match "\*Minibuf" x))(mapcar (function buffer-name) (buffer-list))))
(name (completing-read prompt buffer)))
(if (equal name "")
(switch-to-buffer default)
(switch-to-buffer name))))
# ところでxyzzyのlispの仕様ってドキュメントがあまりないんですよね。
# builtin.lとかをを眺めるしか方法はないんでしょうか?
--
SENDA Shigeya mailto:senda@xxxxxxxxxxxxxxx