Next: List Motion, Previous: Text Lines, Up: Motion [Contents][Index]
Á°Àá¤Î¹Ôñ°Ì¤Î´Ø¿ô¤Ï¡¢²þ¹Ôʸ»ú¤Ç¶èÀÚ¤é¤ì¤¿¥Æ¥¥¹¥È¹Ô¤À¤±¤ò¿ô¤¨¤Þ¤¹¡£ ÂоÈŪ¤Ë¡¢¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢¥¹¥¯¥ê¡¼¥ó¾å¤Ë¤É¤Î¤è¤¦¤Ë¥Æ¥¥¹¥È¤¬¸½¤ì¤ë¤«¤Ç ÄêµÁ¤µ¤ì¤ë¥¹¥¯¥ê¡¼¥ó¾å¤Î¹Ô¤ò¿ô¤¨¤Þ¤¹¡£ ¥Æ¥¥¹¥È¹Ô¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤ÎÉý¤Ë¼ý¤Þ¤ë¤À¤±Ã»¤±¤ì¤Ð¡¢ 1¥Æ¥¥¹¥È¹Ô¤Ï1¥¹¥¯¥ê¡¼¥ó¹Ô¤Ç¤¹¤¬¡¢ ¤·¤«¤·¡¢¤½¤ì°Ê³°¤Ç¤Ï1¥Æ¥¥¹¥È¹Ô¤ÏÊ£¿ô¤Î¥¹¥¯¥ê¡¼¥ó¹Ô¤òÀê¤á¤Þ¤¹¡£
¥Æ¥¥¹¥È¹Ô¤òÊ£¿ô¤Î¥¹¥¯¥ê¡¼¥ó¹Ô¤Ë·Ñ³¤»¤º¤Ë
¥¹¥¯¥ê¡¼¥ó¾å¤ÇÀÚ¤êµÍ¤á¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢vertical-motion
¤Ï¡¢
forward-line
¤Ë¤è¤¯»÷¤¿¥Ý¥¤¥ó¥È¤Î°Üư¤ò¹Ô¤¤¤Þ¤¹¡£
See Truncation¡£
Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ÎÉý¤Ï¡¢³ÆÊ¸»ú¤Î¸«¤¿¤á¤òÀ©¸æ¤¹¤ë¥Õ¥é¥°¤Ë°Í¸¤¹¤ë¤Î¤Ç¡¢
vertical-motion
¤Ï¡¢
¥Æ¥¥¹¥È¤ò¼ý¤á¤¿¥Ð¥Ã¥Õ¥¡¤äÁªÂò¤µ¤ì¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦
¡Ê¤½¤ÎÉý¤äÀÚ¤êµÍ¤á¥Õ¥é¥°¡¢¥¦¥£¥ó¥É¥¦¤´¤È¤Ë°Û¤Ê¤ê¤¦¤ëɽ¼¨¥Æ¡¼¥Ö¥ë¤¬
¤¢¤ë¤¿¤á¡Ë¤Ë°Í¸¤·¤Æ¡¢ÆÃÄê¤Î¥Æ¥¥¹¥ÈÉôʬ¤ËÂФ·¤Æ°Û¤Ê¤Ã¤¿¤Õ¤ë¤Þ¤¤¤ò¤·¤Þ¤¹¡£
See Usual Display¡£
¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢¥¹¥¯¥ê¡¼¥ó¹Ô¤¬¤É¤³¤Ç¶èÀÚ¤ì¤ë¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë¥Æ¥¥¹¥È¤òÁöºº ¤¹¤ë¤Î¤Ç¡¢Áöºº¤¹¤ëÎ̤ËÈæÎ㤷¤Æ»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£ ÆÉ¼Ô¤¬¤³¤ì¤é¤ò¿ÍѤ¹¤ë°Õ¿Þ¤¬¤¢¤ë¤È¤¤Ë¤Ï¡¢ ÆÉ¼Ô¤Î¥³¡¼¥É¤Î¸úΨ¤ò²þÁ±¤¹¤ë¥¥ã¥Ã¥·¥å¤òEmacs¤¬Ä󶡤·¤Þ¤¹¡£ See cache-long-line-scans¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥Ý¥¤¥ó¥È¤ò´Þ¤à¥¹¥¯¥ê¡¼¥ó¹Ô¤«¤é count¥¹¥¯¥ê¡¼¥ó¹Ô¿ô¤À¤±²¼¸þ¤¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ count¤¬Éé¤Ç¤¢¤ë¤È¾å¸þ¤¤Ë°Üư¤¹¤ë¡£
vertical-motion
¤Ï¡¢¥Ý¥¤¥ó¥È¤ò°Üư¤·¤¿¥¹¥¯¥ê¡¼¥ó¹Ô¿ô¤òÊÖ¤¹¡£
¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤äËöÈø¤Ë㤹¤ë¤È¡¢
¤³¤ÎÃͤÏÀäÂÐÃͤǤÏcount¤è¤ê¾®¤µ¤¤¡£
¥¦¥£¥ó¥É¥¦window¤Ï¡¢
Éý¡¢¿åÊ¿¥¹¥¯¥í¡¼¥ë¡¢É½¼¨¥Æ¡¼¥Ö¥ë¤Ê¤É¤Î¥Ñ¥é¥á¡¼¥¿¤òÆÀ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£
¤·¤«¤·¡¢window¤ËÊ̤ΥХåե¡¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Æ¤â¡¢
vertical-motion
¤Ï¤Ä¤Í¤Ë¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤ËºîÍѤ¹¤ë¡£
¤³¤Î´Ø¿ô¤Ï¡¢ÁªÂò¤µ¤ì¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤Ë¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Æ¥¥¹¥È¤Ë ´ð¤Å¤¤¤Æ¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ ¥¦¥£¥ó¥É¥¦¤ÎÀèÆ¬¤«¤écount¥¹¥¯¥ê¡¼¥ó¹Ô¤ÎÀèÆ¬¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ count¤¬Éé¤Ç¤¢¤ë¤È¡¢Äì¡Ê¤¢¤ë¤¤¤Ï¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤¬¥¹¥¯¥ê¡¼¥ó¤Î Äì¤è¤ê¾å¤Ë¤¢¤ë¾ì¹ç¤Ë¤Ï¥Ð¥Ã¥Õ¥¡¤ÎºÇ½ª¹Ô¡Ë¤«¤é¿ô¤¨¤Æ -count¥¹¥¯¥ê¡¼¥ó¹Ô°ÌÃÖ¤ò»ØÄꤹ¤ë¡£
count¤¬nil
¤Ç¤¢¤ë¤È¡¢
¥¦¥£¥ó¥É¥¦¤ÎÃæ±û¤Î¹Ô¤ÎÀèÆ¬¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£
count ¤ÎÀäÂÐÃͤ¬¥¦¥£¥ó¥É¥¦¤Î¥µ¥¤¥º¤è¤ê¤âÂ礤¤¤È¤¤Ë¤Ï¡¢
¥¦¥£¥ó¥É¥¦¤Ë½½Ê¬¤Ê¹â¤µ¤¬¤¢¤Ã¤¿¾ì¹ç¤Ë°Üư¤¹¤ë¤Ç¤¢¤í¤¦
¥¹¥¯¥ê¡¼¥ó¹Ô¤Î²Õ½ê¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£
¤½¤Î¤¿¤á¡¢¥¹¥¯¥í¡¼¥ë¤·¤ÆÅö³º²Õ½ê¤¬¥¹¥¯¥ê¡¼¥ó¤Ë¸½¤ì¤ë¤è¤¦¤ËºÆÉ½¼¨¤¹¤ë¡£
ÂÐÏÃŪ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¡¢count¤Ï¿ôÃÍÁ°ÃÖ°ú¿ô¤Ç¤¢¤ë¡£
Ìá¤êÃͤϡ¢¥¦¥£¥ó¥É¥¦¤ÎÀèÆ¬¹Ô¤ò0¤È¿ô¤¨¤Æ¡¢°ÜưÀè¤Î¹Ô¤Î¥¦¥£¥ó¥É¥¦¹ÔÈÖ¹æ¤Ç¤¢¤ë¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥¹¥¯¥ê¡¼¥ó¾å¤Ç¤Î°ÌÃÖ¤ò·×»»¤·¤Ê¤¬¤é¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤òÁöºº¤¹¤ë¡£ ¥Ð¥Ã¥Õ¥¡Æâ°ÌÃÖfrom¤¬¥¹¥¯¥ê¡¼¥óºÂɸfrompos¤ËÂбþ¤¹¤ë¤È²¾Äꤷ¤Æ¡¢ from¤«¤éÁ°Êý¤Ø¸þ¤±¤Æto¤«topos¤Î¤É¤Á¤é¤«¤Ë 㤹¤ë¤Þ¤Ç¥Ð¥Ã¥Õ¥¡¤òÁöºº¤¹¤ë¡£ ¥Ð¥Ã¥Õ¥¡Æâ¤Î½ªÎ»°ÌÃ֤ȥ¹¥¯¥ê¡¼¥óºÂɸ¤òÊÖ¤¹¡£
ºÂɸ°ú¿ôfrompos¤Ètopos¤Ï¡¢
(hpos . vpos)
¤Î·Á¤Î¥³¥ó¥¹¥»¥ë¤Ç¤¢¤ë¡£
°ú¿ôwidth¤Ï¡¢¥Æ¥¥¹¥È¤òɽ¼¨¤Ç¤¤ë¥³¥é¥à¿ô¤Ç¤¢¤ê¡¢
¤³¤ì¤Ï·Ñ³¹Ô¤Î°·¤¤¤Ë±Æ¶Á¤¹¤ë¡£
ÆÉ¼Ô¤¬Áª¤ó¤À¥¦¥£¥ó¥É¥¦¤ËÂФ·¤Æwindow-width
¤¬ÊÖ¤·¤¿ÃÍ¡¢
¤Ä¤Þ¤ê¡¢Ä̾(window-width window)
¤ò»È¤¦¡£
°ú¿ôoffsets¤Ï¡¢nil
¤Ç¤¢¤ë¤«¡¢
(hscroll . tab-offset)
¤Î·Á¤Î¥³¥ó¥¹¥»¥ë¤Ç¤¢¤ë¡£
¤³¤³¤Ç¡¢hscroll¤Ïº¸Ã¼¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¥³¥é¥à¿ô¤Ç¤¢¤ê¡¢
¿¤¯¤Î¾ì¹ç¤Ïwindow-hscroll
¤ò¸Æ¤Ó½Ð¤·¤ÆÆÀ¤¿Ãͤò»È¤¦¡£
°ìÊý¡¢tab-offset¤Ï¥¹¥¯¥ê¡¼¥ó¾å¤Ç¤Î¥³¥é¥àÈÖ¹æ¤È
¥Ð¥Ã¥Õ¥¡Æâ¤Ç¤Î¥³¥é¥àÈÖ¹æ¤Îº¹¤Ç¤¢¤ë¡£
¤³¤ÎÃͤϡ¢·Ñ³¹Ô¤Ë¤ª¤¤¤Æ¤Þ¤¨¤Î¥¹¥¯¥ê¡¼¥ó¹Ô¤ÎÉý¤¬tab-width
¤Ç½ª¤é¤Ê¤¤
¾ì¹ç¤Ë0°Ê³°¤Ë¤Ê¤ë¡£
·Ñ³¤·¤Ê¤¤¹Ô¤Ç¤Ï¤Ä¤Í¤Ë0¤Ç¤¢¤ë¡£
¥¦¥£¥ó¥É¥¦window¤Ï¡¢»ÈÍѤ¹¤ëɽ¼¨¥Æ¡¼¥Ö¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤À¤±¤Ë»È¤ï¤ì¤ë¡£
window¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Ð¥Ã¥Õ¥¡¤Ë´Ø¤ï¤é¤º¡¢
compute-motion
¤Ï¤Ä¤Í¤Ë¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤ËºîÍѤ¹¤ë¡£
Ìá¤êÃͤϡ¢5Í×ÁǤΥꥹ¥È¤Ç¤¢¤ë¡£
(pos vpos hpos prevhpos contin)
¤³¤³¤Ç¡¢pos¤ÏÁöºº¤ò½ª¤¨¤¿¥Ð¥Ã¥Õ¥¡Æâ°ÌÃ֤Ǥ¢¤ê¡¢ vpos¤Ï¿âľÊý¸þ¤Î¥¹¥¯¥ê¡¼¥ó°ÌÃÖ¡¢ hpos¤Ï¿åÊ¿Êý¸þ¤Î¥¹¥¯¥ê¡¼¥ó°ÌÃ֤Ǥ¢¤ë¡£
·ë²Ì¤Îprevhpos¤Ï¡¢pos¤«¤é1ʸ»úʬÌá¤Ã¤¿²Õ½ê¤Î¿åÊ¿°ÌÃ֤Ǥ¢¤ë¡£
¤³¤Îʸ»ú¤Î¤¢¤È¤ÇºÇ½ª¹Ô¤¬·Ñ³¤·¤Æ¤¤¤ë¤È¤¤Ë¤Ï¡¢
·ë²Ì¤Îcontin¤Ït
¤Ç¤¢¤ë¡£
¤¿¤È¤¨¤Ð¡¢¤¢¤ë¥¦¥£¥ó¥É¥¦¤Îline¥¹¥¯¥ê¡¼¥ó¹Ô¤Îcol¥³¥é¥à¤Ë
Âбþ¤¹¤ë¥Ð¥Ã¥Õ¥¡Æâ°ÌÃÖ¤òõ¤¹¤Ë¤Ï¡¢
from¤È¤·¤Æ¥¦¥£¥ó¥É¥¦¤Îɽ¼¨³«»Ï°ÌÃÖ¡¢
frompos¤È¤·¤Æ¥¦¥£¥ó¥É¥¦¤Îº¸¾å¶ù¤ÎºÂɸ¤òÅϤ·¤Þ¤¹¡£
to¤Ë¤Ï¥Ð¥Ã¥Õ¥¡¤Î(point-max)
¤òÅϤ·¤Æ
Áöºº¤ò¥Ð¥Ã¥Õ¥¡¤Î»²¾È²ÄǽÉôʬ¤Î¤ß¤ËÀ©¸Â¤·¡¢
topos¤È¤·¤Æline¤Ècol¤òÅϤ¹¡£
¤Ä¤®¤Î¤è¤¦¤Ë¸Æ¤Ó½Ð¤¹¡£
(defun coordinates-of-position (col line) (car (compute-motion (window-start) '(0 . 0) (point-max) (cons col line) (window-width) (cons (window-hscroll) 0) (selected-window))))
¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤ËÂФ·¤Æcompute-motion
¤ò»È¤¦¤È¤¤Ë¤Ï¡¢
minibuffer-prompt-width
¤ò»È¤Ã¤Æ
ºÇ½é¤Î¥¹¥¯¥ê¡¼¥ó¹Ô¤ÎÀèÆ¬¤Î¿åÊ¿°ÌÃÖ¤òÆÀ¤ëɬÍפ¬¤¢¤ë¡£
see Minibuffer Misc¡£