Next: , Previous: Buffer End Motion, Up: Motion   [Contents][Index]


29.2.4 ¥Æ¥­¥¹¥È¹Ôñ°Ì¤Î°Üư

¥Æ¥­¥¹¥È¹Ô¤È¤Ï¡¢²þ¹Ôʸ»ú¤Ç¶èÀÚ¤é¤ì¤¿¥Ð¥Ã¥Õ¥¡¤ÎÉôʬ¤Ç¤¹¡£ ²þ¹Ôʸ»ú¤Ï¤Þ¤¨¤Î¹Ô¤Ë°¤¹¤ë¤È¤ß¤Ê¤·¤Þ¤¹¡£ ºÇ½é¤Î¥Æ¥­¥¹¥È¹Ô¤¬¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤«¤é»Ï¤Þ¤ê¡¢ ¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤Îʸ»ú¤¬²þ¹Ô¤Ç¤¢¤Ã¤Æ¤â¤Ê¤¯¤Æ¤â¡¢ ºÇ¸å¤Î¥Æ¥­¥¹¥È¹Ô¤Ï¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤Ç½ª¤ê¤Þ¤¹¡£ ¥Ð¥Ã¥Õ¥¡¤ò¥Æ¥­¥¹¥È¹Ô¤Ëʬ³ä¤¹¤ë¤³¤È¤Ï¡¢ ¥¦¥£¥ó¥É¥¦¤ÎÉý¡¢É½¼¨¾å¤Î¹Ô¤Î·Ñ³¡¢¥¿¥Ö¤ä¥³¥ó¥È¥í¡¼¥ëʸ»ú¤Îɽ¼¨ÊýË¡¤Ë¤Ï ±Æ¶Á¤µ¤ì¤Þ¤»¤ó¡£

¥³¥Þ¥ó¥É: goto-line line

¤³¤Î´Ø¿ô¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤ò1¹ÔÌܤȿô¤¨¤Æline¹ÔÌܤÎÀèÆ¬¤Ë ¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ line¤¬1̤Ëþ¤Ç¤¢¤ë¤È¡¢¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤Ø¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ line¤¬¥Ð¥Ã¥Õ¥¡Æâ¤Î¹Ô¿ô¤è¤êÂ礭¤¤¤È¡¢ ¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¡¢¤Ä¤Þ¤ê¡¢¥Ð¥Ã¥Õ¥¡¤ÎºÇ¸å¤Î¹Ô¤ÎËöÈø¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ ¤³¤ì¤Ï¡¢goto-line¤¬¹ÔƬ¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤·¤Ê¤¤Í£°ì¤Î¾ìÌ̤Ǥ¢¤ë¡£

¥Ê¥í¥¤¥ó¥°¤·¤Æ¤¤¤ë¤È¤­¤Ç¤â¡¢ line¤Ï¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤«¤é¿ô¤¨¤ë¤¬¡¢ »²¾È²ÄǽÉôʬ¤Î³°Â¦¤Ë¤Ï¥Ý¥¤¥ó¥È¤Ï°Üư¤·¤Ê¤¤¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¹ÔÈֹ椬»²¾ÈÉԲĤÊÉôʬ¤ò»ØÄꤹ¤ë¤È¤­¤Ë¤Ï¡¢ goto-line¤Ï»²¾È²ÄǽÉôʬ¤ÎÀèÆ¬¤«ËöÈø¤Ø¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£

goto-line¤ÎÌá¤êÃͤϡ¢ ¡Ê¥Ê¥í¥¤¥ó¥°¤ò¹Í褻¤º¤Ë¥Ð¥Ã¥Õ¥¡Á´ÂΤǤߤ¿¡Ë line¤È¼ÂºÝ¤Î¥Ý¥¤¥ó¥È¤Î°ÜưÀè¤Î¹Ô¤Î¹ÔÈÖ¹æ¤È¤Îº¹¤Ç¤¢¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢»ØÄꤷ¤¿¹Ô¤Ë㤹¤ë¤Þ¤¨¤Ë¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤Ë½Ð²ñ¤¦¤ÈÃͤÏÀµ¤Ç¤¢¤ë¡£ ¥Ð¥Ã¥Õ¥¡¤Î¼ÂºÝ¤ÎËöÈø¤Ë¤Ç¤Ï¤Ê¤¯»²¾È²ÄǽÉôʬ¤ÎËöÈø¤Ë½Ð²ñ¤¦¤ÈÃͤÏ0¤Ç¤¢¤ë¡£

ÂÐÏÃŪ¤Ë¸Æ¤Ó½Ð¤¹¤È¡¢ Á°ÃÖ°ú¿ô¤¬¤¢¤ì¤Ðline¤Ï¿ôÃÍÁ°ÃÖ°ú¿ô¤Ç¤¢¤ë¡£ ¤µ¤â¤Ê¤±¤ì¤Ðline¤ò¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤«¤éÆÉ¤à¡£

¥³¥Þ¥ó¥É: beginning-of-line &optional count

¤³¤Î´Ø¿ô¤Ï¡¢¸½ºß¹Ô¤ÎÀèÆ¬¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ °ú¿ôcount¤¬nil¤Ç¤â1¤Ç¤â¤Ê¤¤¤È¡¢ count-1¹Ô¤À¤±Á°Êý¤Ø°Üư¤·¤Æ¤«¤é¹ÔƬ¤Ë°Üư¤¹¤ë¡£

¥Ð¥Ã¥Õ¥¡¡Ê¥Ê¥í¥¤¥ó¥°¤·¤Æ¤¤¤ë¤È¤­¤Ë¤Ï»²¾È²ÄǽÉôʬ¡Ë¤ÎËöÈø¤Ë㤹¤ë¤È ¥Ý¥¤¥ó¥È¤ò¤½¤³¤Ø°Üư¤¹¤ë¡£ ¥¨¥é¡¼¤ÏÄÌÃΤ·¤Ê¤¤¡£

¥³¥Þ¥ó¥É: end-of-line &optional count

¤³¤Î´Ø¿ô¤Ï¡¢¸½ºß¹Ô¤ÎËöÈø¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ °ú¿ôcount¤¬nil¤Ç¤â1¤Ç¤â¤Ê¤¤¤È¡¢ count-1¹Ô¤À¤±Á°Êý¤Ø°Üư¤·¤Æ¤«¤é¹ÔËö¤Ë°Üư¤¹¤ë¡£

¥Ð¥Ã¥Õ¥¡¡Ê¥Ê¥í¥¤¥ó¥°¤·¤Æ¤¤¤ë¤È¤­¤Ë¤Ï»²¾È²ÄǽÉôʬ¡Ë¤ÎËöÈø¤Ë㤹¤ë¤È ¥Ý¥¤¥ó¥È¤ò¤½¤³¤Ø°Üư¤¹¤ë¡£ ¥¨¥é¡¼¤ÏÄÌÃΤ·¤Ê¤¤¡£

¥³¥Þ¥ó¥É: forward-line &optional count

¤³¤Î´Ø¿ô¤Ï¡¢count¹ÔÁ°Êý¤Î¹ÔƬ¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ count¤¬Éé¤Ç¤¢¤ë¤È¡¢ -count¹Ô¸åÊý¤Î¹ÔƬ¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ count¤¬0¤Ç¤¢¤ë¤È¡¢¸½ºß¹Ô¤ÎÀèÆ¬¤Ë¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£

»ØÄê¹Ô¿ô¤À¤±°Üư¤¹¤ë¤Þ¤¨¤Ë ¥Ð¥Ã¥Õ¥¡¡Ê¥Ê¥í¥¤¥ó¥°¤·¤Æ¤¤¤ë¤È¤­¤Ë¤Ï»²¾È²ÄǽÉôʬ¡Ë¤ÎÀèÆ¬¤äËöÈø¤Ë㤹¤ë¤È ¥Ý¥¤¥ó¥È¤ò¤½¤³¤Ø°Üư¤¹¤ë¡£ ¥¨¥é¡¼¤ÏÄÌÃΤ·¤Ê¤¤¡£

forward-line¤Ï¡¢ count¤È¼ÂºÝ¤Ë°Üư¤·¤¿¹Ô¿ô¤Îº¹¤òÊÖ¤¹¡£ 3¹Ô¤·¤«¤Ê¤¤¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤Ç5¹ÔÁ°Êý¤Ø°Üư¤·¤è¤¦¤È¤¹¤ë¤È¡¢ ¥Ý¥¤¥ó¥È¤ÏºÇ¸å¤Î¹Ô¤ÎËöÈø¤Ç»ß¤Þ¤ê¡¢ÃͤÏ2¤Ë¤Ê¤ë¡£

ÂÐÏÃŪ¤Ë¸Æ¤Ó½Ð¤¹¤È¡¢count¤Ï¿ôÃÍÁ°ÃÖ°ú¿ô¤Ç¤¢¤ë¡£

Function: count-lines start end

¤³¤Î´Ø¿ô¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Îstart¤Èend¤Î ¤¢¤¤¤À¤ÎÉôʬ¤Ë¤¢¤ë¹Ô¤Î¹Ô¿ô¤òÊÖ¤¹¡£ start¤Èend¤¬Åù¤·¤±¤ì¤Ð0¤òÊÖ¤¹¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢start¤Èend¤¬Æ±¤¸¹Ô¤Ë¤¢¤ë¾ì¹ç¤Ç¤¢¤Ã¤Æ¤â ¾¯¤Ê¤¯¤È¤â1¤òÊÖ¤¹¡£ ¤È¤¤¤¦¤Î¤Ï¡¢¤½¤ì¤é¤Î¤¢¤¤¤À¤Î¥Æ¥­¥¹¥È¤Ï¸ÉΩ¤·¤Æ¤¤¤ë¤È¤ß¤Ê¤µ¤ì¡¢ ¶õ¤Ç¤Ê¤±¤ì¤Ð¾¯¤Ê¤¯¤È¤â1¹Ô¤Ï¤¢¤ë¤Ï¤º¤À¤«¤é¤Ç¤¢¤ë¡£

count-lines¤Î»ÈÍÑÎã¤ò¼¨¤¹¡£

(defun current-line ()
  "Return the vertical position of point…"
  (+ (count-lines (window-start) (point))
     (if (= (current-column) 0) 1 0)
     -1))

Near Point¤Î´Ø¿ôbolp¤äeolp¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤é¤Î´Ø¿ô¤Ï¥Ý¥¤¥ó¥È¤ò°Üư¤·¤Þ¤»¤ó¤¬¡¢¥Ý¥¤¥ó¥È¤¬¤¹¤Ç¤Ë¹Ô¤ÎÀèÆ¬¤äËöÈø¤Ë ¤¢¤ë¤«¤É¤¦¤«¤ò¸¡ºº¤·¤Þ¤¹¡£