[xyzzy:04639] Emacs 風 switch-to-buffer
- Subject: [xyzzy:04639] Emacs 風 switch-to-buffer
- From: Yuhki Tsuji <yuhki@xxxxxxxxxxxxxxx>
- X-mailer: Mozilla 4.73 [ja] (Win98; U)
はじめまして、つじといいます。最近 xyzzyを知り、いろいろと
カスタマイズをやっています。もともとLinuxでMule 2.3を使っていたので
なるべくEmacsに近づけようという方向でやってます。
Emacsのバッファ切り替え(C-x b)はデフォルトではなにも入力されていなくて
そのままリターンを押せば、デフォルトのバッファ(other-buffer)が選択され
ます。私はバッファの名前をあまり覚えないほうなので、とりあえず
スペースキーを押してバッファの一覧を表示させてから入力しています。
xyzzyオリジナルのswitch-to-bufferだとすでにデフォルトのバッファが
入力されている状態になっているので一度、デフォルトを消してからでないと
バッファ一覧を表示できません。そこで下の関数を作ってみました。
;;; emacs風バッファ切り替え
(defun switch-to-buffer-emacs ()
(interactive)
(let* ((default (buffer-name (other-buffer)))
(prompt (format nil "Switch to buffer: (default ~A) " default))
(buffer (mapcar (function buffer-name) (buffer-list)))
(name (completing-read prompt buffer)))
(if (equal name "")
(switch-to-buffer default)
(switch-to-buffer name))))
(global-set-key '(#\C-x #\b) 'switch-to-buffer-emacs)
とりあえず動いていますが、Lispはあまり詳しくないので
こんな風にしたらいいとかありましたら、よろしくお願いします。
--
(* ------------------------------------------- *)
(* Yuhki Tsuji mailto:yuhki@xxxxxxxxxxxxxxx *)
(* ------------------------------------------- *)