Next: , Previous: Read Only Buffers, Up: Buffers   [Contents][Index]


26.8 ¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È

¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È¡Êbuffer list¡Ë¤Ï¡¢ ¤¹¤Ù¤Æ¤Î¥Ð¥Ã¥Õ¥¡¤Î¥ê¥¹¥È¤Ç¤¹¡£ ¥Ð¥Ã¥Õ¥¡¤òºîÀ®¤¹¤ë¤ÈÅö³º¥Ð¥Ã¥Õ¥¡¤Ï¤³¤Î¥ê¥¹¥È¤ËÄɲ䵤졢 ºï½ü¤¹¤ë¤È¤³¤Î¥ê¥¹¥È¤«¤é¼è¤ê½ü¤«¤ì¤Þ¤¹¡£ ¥ê¥¹¥ÈÆâ¤Î¥Ð¥Ã¥Õ¥¡¤Î½ç½ø¤Ï¡¢³Æ¥Ð¥Ã¥Õ¥¡¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤Ë ¤É¤ÎÄøÅٺǶá¤Ëɽ¼¨¤µ¤ì¤¿¤«¤ò¼ç¤Ê´ð½à¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ ¥Ð¥Ã¥Õ¥¡¤¬ÁªÂò¤µ¤ì¤ë¤È¥ê¥¹¥È¤ÎÀèÆ¬¤Ë°Üư¤·¡¢ ±£¤µ¤ì¤ë¤È¡Ê²¼µ­¤Îbury-buffer¤ò»²¾È¡ËËöÈø¤Ë°Üư¤·¤Þ¤¹¡£ other-buffer¤ò¤Ï¤¸¤á¤È¤¹¤ë¤¤¤¯¤Ä¤«¤Î´Ø¿ô¤¬¡¢¤³¤Î½ç½ø¤ò»È¤¤¤Þ¤¹¡£ ¥æ¡¼¥¶¡¼¤Ëɽ¼¨¤¹¤ë¥Ð¥Ã¥Õ¥¡°ìÍ÷¤â¤³¤Î½ç½ø¤òÈ¿±Ç¤·¤Æ¤¤¤Þ¤¹¡£

Emacs´ðËܥХåե¡¥ê¥¹¥È¤Ë²Ã¤¨¤Æ¡¢ ³Æ¥Õ¥ì¡¼¥à¤Ë¤ÏÆÈ¼«¤Î¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£ ¤½¤Î¥ê¥¹¥È¤Ç¤Ï¡¢ Åö³º¥Õ¥ì¡¼¥à¤Ç¤â¤Ã¤È¤âºÇ¶á¤ËÁªÂò¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤«¤é½ç¤Ë Åö³º¥Õ¥ì¡¼¥à¤ÇÁªÂò¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤¬Àè¤Ë¤­¤Þ¤¹¡£ ¡Ê¤³¤Î½çÈ֤ϡ¢¥Õ¥ì¡¼¥à¤Î¥Õ¥ì¡¼¥à¥Ñ¥é¥á¡¼¥¿buffer-list¤ËÆþ¤Ã¤Æ¤¤¤ë¡£ Window Frame Parameters¤ò»²¾È¡£¡Ë Åö³º¥Õ¥ì¡¼¥à¤ÇÁªÂò¤µ¤ì¤¿¤³¤È¤¬¤Ê¤¤¥Ð¥Ã¥Õ¥¡¤Ï¡¢ Emacs´ðËܥХåե¡¥ê¥¹¥È¤Ç¤Î½ç¤Ë¤¦¤·¤í¤Ë³¤­¤Þ¤¹¡£

Function: buffer-list &optional frame

¤³¤Î´Ø¿ô¤Ï¡¢¶õÇò¤Ç»Ï¤Þ¤ë̾Á°¤Î¥Ð¥Ã¥Õ¥¡¤ò´Þ¤á¤Æ¡¢ ¤¹¤Ù¤Æ¤Î¥Ð¥Ã¥Õ¥¡¤ò´Þ¤ó¤À¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È¤òÊÖ¤¹¡£ Í×ÁǤϼºݤ˥Хåե¡¤Ç¤¢¤ê¡¢¤½¤ì¤é¤Î̾Á°¤Ç¤Ï¤Ê¤¤¡£

frame¤¬¥Õ¥ì¡¼¥à¤Ç¤¢¤ë¤È¡¢ ¤³¤Î´Ø¿ô¤Ï¥Õ¥ì¡¼¥àframe¤Î¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È¤òÊÖ¤¹¡£ frame¤¬nil¤Ç¤¢¤ë¤ÈEmacs´ðËܥХåե¡¥ê¥¹¥È¤ò»È¤¦¡£

(buffer-list)
     ⇒ (#<buffer buffers.texi>
         #<buffer  *Minibuf-1*> #<buffer buffer.c>
         #<buffer *Help*> #<buffer TAGS>)
;; ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Î̾Á°¤Ï¶õÇò¤Ç»Ï¤Þ¤ë¤³¤È¤ËÃí°Õ
(mapcar (function buffer-name) (buffer-list))
    ⇒ ("buffers.texi" " *Minibuf-1*" 
        "buffer.c" "*Help*" "TAGS")

buffer-list¤¬ÊÖ¤¹¥ê¥¹¥È¤Ïbuffer-list¤¬¹½ÃÛ¤·¤¿¤â¤Î¤Ç¤¢¤ê¡¢ Emacs¤ÎÆâÉô¥Ç¡¼¥¿¹½Â¤¤Ç¤Ï¤Ê¤¯¡¢ ¤½¤ì¤òÊѹ¹¤·¤Æ¤â¥Ð¥Ã¥Õ¥¡¤Î½ç½ø¤Ë¤Ï±Æ¶Á¤·¤Þ¤»¤ó¡£ ¥Õ¥ì¡¼¥àÆÈΩ¤Ê¥Ð¥Ã¥Õ¥¡¥ê¥¹¥ÈÆâ¤Î¥Ð¥Ã¥Õ¥¡½ç½ø¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢ ¤Ä¤®¤Î¤è¤¦¤Ê´Êñ¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£

(defun reorder-buffer-list (new-list)
  (while new-list
    (bury-buffer (car new-list))
    (setq new-list (cdr new-list))))

¤³¤ÎÊýË¡¤ò»È¤¨¤Ð¡¢¤É¤ó¤Ê½ç½ø¤Ç¤â¥ê¥¹¥È¤Ë»ØÄê¤Ç¤­¡¢ ¤·¤«¤â¡¢¥Ð¥Ã¥Õ¥¡¤ò¼º¤Ã¤¿¤êÀµ¤·¤¯¤Ê¤¤¥Ð¥Ã¥Õ¥¡¤ò Äɲ䷤Ƥ·¤Þ¤¦´í¸±¤Ï¤¢¤ê¤Þ¤»¤ó¡£

¥Õ¥ì¡¼¥à¤Î¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È¤Î½ç½ø¤äÃͤòÊѹ¹¤¹¤ë¤Ë¤Ï¡¢ modify-frame-parameters¡Êsee Parameter Access¡Ë¤Ç¡¢ ¥Õ¥ì¡¼¥à¤Î¥Õ¥ì¡¼¥à¥Ñ¥é¥á¡¼¥¿buffer-list¤ËÀßÄꤷ¤Þ¤¹¡£

Function: other-buffer &optional buffer visible-ok frame

¤³¤Î´Ø¿ô¤Ï¡¢¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È¤«¤ébuffer°Ê³°¤ÎºÇ½é¤Î¥Ð¥Ã¥Õ¥¡¤òÊÖ¤¹¡£ Ä̾Åö³º¥Ð¥Ã¥Õ¥¡¤Ï¡¢buffer¤ò½ü¤¤¤Æ ¡Êframe¤«¸½ºßÁªÂò¤µ¤ì¤Æ¤¤¤ë¥Õ¥ì¡¼¥à¤Ç¡Ë ¤â¤Ã¤È¤âºÇ¶á¤ËÁªÂò¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Ç¤¢¤ë¡£ ¶õÇò¤Ç»Ï¤Þ¤ë̾Á°¤Î¥Ð¥Ã¥Õ¥¡¤Ï´°Á´¤Ë½ü³°¤¹¤ë¡£

buffer¤ò»ØÄꤷ¤Ê¤¤¤È¡Ê¤¢¤ë¤¤¤Ï¥Ð¥Ã¥Õ¥¡¤Ç¤Ê¤¤¤È¡Ë¡¢ other-buffer¤Ï¡¢ÁªÂò¤µ¤ì¤Æ¤¤¤ë¥Õ¥ì¡¼¥à¤Î¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È¤ÎÃæ¤«¤é ²Ä»ë¥Õ¥ì¡¼¥à¤Î¤É¤Î¥¦¥£¥ó¥É¥¦¤Ë¤âɽ¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤ºÇ½é¤Î¥Ð¥Ã¥Õ¥¡¤òÊÖ¤¹¡£

frame¤Ënil°Ê³°¤Î¥Ñ¥é¥á¡¼¥¿buffer-predicate¤¬¤¢¤ë¤È¡¢ other-buffer¤ÏÅö³º½Ò¸ì¤ò»È¤Ã¤Æ ¤É¤Î¥Ð¥Ã¥Õ¥¡¤ò¹Íθ¤ËÆþ¤ì¤ë¤«¤ò·èÄꤹ¤ë¡£ ³Æ¥Ð¥Ã¥Õ¥¡¤Ë¤Ä¤¤¤ÆÅö³º½Ò¸ì¤ò1²ó¸Æ¤Ó½Ð¤·¡¢ ¤½¤ÎÃͤ¬nil¤Ç¤¢¤ë¤ÈÅö³º¥Ð¥Ã¥Õ¥¡¤ò̵»ë¤¹¤ë¡£ see Window Frame Parameters¡£

visible-ok¤¬nil¤Ç¤¢¤ë¤È¡¢ other-buffer¤Ï²Ä»ë¥Õ¥ì¡¼¥à¤Î¤¤¤º¤ì¤«¤Î¥¦¥£¥ó¥É¥¦¤Ë ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Ð¥Ã¥Õ¥¡¤ò²Äǽ¤Ê¸Â¤êÊÖ¤µ¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£ visible-ok¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ¥Ð¥Ã¥Õ¥¡¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ï´Ø·¸¤Ê¤¤¡£

ŬÅö¤Ê¥Ð¥Ã¥Õ¥¡¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ ¥Ð¥Ã¥Õ¥¡‘*scratch*’¤ò¡ÊɬÍפʤé¤ÐºîÀ®¤·¤Æ¡ËÊÖ¤¹¡£

¥³¥Þ¥ó¥É: bury-buffer &optional buffer-or-name

¤³¤Î´Ø¿ô¤Ï¡¢¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È¤Î¾¤Î¥Ð¥Ã¥Õ¥¡¤Î½ç½ø¤ÏÊѤ¨¤º¤Ë buffer-or-name¤òËöÈø¤ËÃÖ¤¯¡£ ¤³¤Î·ë²Ì¡¢Åö³º¥Ð¥Ã¥Õ¥¡¤Ï¡¢other-buffer¤¬ÊÖ¤¹¸õÊä¤È¤·¤Æ¤Ï ¤â¤Ã¤È¤â²ÄǽÀ­¤¬Ä㤯¤Ê¤ë¡£

bury-buffer¤Ï¡¢ Emacs¤Î¥Õ¥ì¡¼¥àÆÈΩ¤Ê¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È¤Ë²Ã¤¨¤Æ¡¢ ³Æ¥Õ¥ì¡¼¥à¤Î¥Ñ¥é¥á¡¼¥¿buffer-list¤âÁàºî¤¹¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢»ØÄꤷ¤¿¥Ð¥Ã¥Õ¥¡¤Ï¡¢ (buffer-list frame)¤È(buffer-list nil)¤Î ¤¤¤º¤ì¤ÎÃͤǤâºÇ¸å¤Ë¤Ê¤ë¡£

buffer-or-name¤¬nil¤Ç¤¢¤ë¤«¾Êά¤¹¤ë¤È¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤òºÇ¸åÈø¤ËÃÖ¤¯¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ¤µ¤é¤Ë¡¢Åö³º¥Ð¥Ã¥Õ¥¡¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤È¡¢ ¤½¤Î¥¦¥£¥ó¥É¥¦¤Ç¤Ï¡Êother-buffer¤ÇÆÀ¤é¤ì¤ë¡Ë Ê̤ΥХåե¡¤ËÀÚ¤êÂØ¤ï¤ë¡£ Åö³º¥Ð¥Ã¥Õ¥¡¤¬Ê̤Υ¦¥£¥ó¥É¥¦¤Ë¤âɽ¼¨¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ ¤½¤Îɽ¼¨¤ÏÂØ¤ï¤é¤Ê¤¤¡£

¤¹¤Ù¤Æ¤Î¥¦¥£¥ó¥É¥¦¤Ëɽ¼¨¤·¤Æ¤¤¤ëÆÃÄê¤Î¥Ð¥Ã¥Õ¥¡¤òÃÖ¤­´¹¤¨¤ë¤Ë¤Ï¡¢ replace-buffer-in-windows¤ò»È¤¦¡£ see Buffers and Windows¡£