Next: , Previous: Single Shell, Up: Shell   [Contents][Index]


27.14.2 ÂÐÏÃŪ¤Ê²¼°Ì¤Î¥·¥§¥ë

¥µ¥Ö¥·¥§¥ë¤òÂÐÏÃŪ¤Ë¼Â¹Ô¤·¡¢¤½¤ÎÂÐÏõ­Ï¿¤òEmacs¥Ð¥Ã¥Õ¥¡¤Ë»Ä¤¹¤Ë¤Ï¡¢ M-x shell¤ò»È¤¤¤Þ¤¹¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢‘*shell*’¤È¤¤¤¦Ì¾Á°¤Î¥Ð¥Ã¥Õ¥¡¤òºîÀ®¡Ê¤Þ¤¿¤ÏºÆ»ÈÍѡˤ·¡¢ ¤³¤Î¥Ð¥Ã¥Õ¥¡¤ËÆþ½ÐÎϤ¹¤ë¥µ¥Ö¥·¥§¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¥µ¥Ö¥·¥§¥ë¤Î¡ØÃ¼Ëö½ÐÎϡ٤ϥХåե¡¤ËÁÞÆþ¤µ¤ì¥Ý¥¤¥ó¥È¤ò¿Ê¤á¡¢ ¥µ¥Ö¥·¥§¥ë¤Î¡ØÃ¼ËöÆþÎϡ٤ϥХåե¡¤«¤é¼è¤é¤ì¤Þ¤¹¡£ ¥µ¥Ö¥·¥§¥ë¤ËÆþÎϤòÍ¿¤¨¤ë¤Ë¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤Ø°Üư¤·¤Æ ÆþÎϤòÂǤÁ¹þ¤ßºÇ¸å¤ËRET¤òÂǤÁ¤Þ¤¹¡£

Emacs¤Ï¥µ¥Ö¥·¥§¥ë¤¬²¿¤«¤¹¤ë¤Î¤òÂԤĤ³¤È¤Ï¤·¤Þ¤»¤ó¡£ ¥·¥§¥ë¤¬ÂԤäƤ¤¤è¤¦¤¬¥·¥§¥ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤è¤¦¤¬¡¢ ¥¦¥£¥ó¥É¥¦¤ä¥Ð¥Ã¥Õ¥¡¤òÀÚ¤êÂØ¤¨¤ÆÊÔ½¸¤Ç¤­¤Þ¤¹¡£ ¥µ¥Ö¥·¥§¥ë¤«¤é¤Î½ÐÎϤϡ¢ Emacs¤¬¤½¤ì¤ò¼è¤ê¹þ¤à½èÍý¤ò¼Â¹Ô¤Ç¤­¤ë¤Þ¤ÇÂÔ¤¿¤µ¤ì¤Þ¤¹¡£ ¼è¤ê¹þ¤ß½èÍý¤Ï¡¢Emacs¤¬¥­¡¼¥Ü¡¼¥ÉÆþÎϤòÂԤ俤ꡢ »þ´ÖÂÔ¤Á¤ËÆþ¤Ã¤¿¤È¤­¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£

Ê£¿ô¤Î¥µ¥Ö¥·¥§¥ë¤ò»È¤¦¤Ë¤Ï¡¢¥Ð¥Ã¥Õ¥¡‘*shell*’¤Î̾Á°¤ò¥³¥Þ¥ó¥É M-x rename-uniquely¤ÇÊ̤Τâ¤Î¤ËÊѹ¹¤·¤Þ¤¹¡£ ¤½¤¦¤·¤Æ¤«¤é¡¢ºÆÅÙM-x shell¤ÈÂǤÁ¹þ¤ó¤Ç¡¢ ¿·¤·¤¤¥µ¥Ö¥·¥§¥ë¤ò»ý¤Ä¥Ð¥Ã¥Õ¥¡‘*shell*’¤ò¿·¤¿¤Ëºî¤ê¤Þ¤¹¡£ ¤³¤Î¥Ð¥Ã¥Õ¥¡¤Î̾Á°¤âƱ¤¸¤è¤¦¤ËÊѤ¨¤ì¤Ð¡¢¤µ¤é¤Ë¿·¤·¤¯ºî¤ì¤Þ¤¹¡£ ¤¹¤Ù¤Æ¤Î¥µ¥Ö¥·¥§¥ë¤ÏÆÈΩ¤«¤ÄʹԤ˼¹Ԥµ¤ì¤Þ¤¹¡£

¥µ¥Ö¥·¥§¥ë¤È¤·¤Æ¼Â¹Ô¤¹¤ë¥Õ¥¡¥¤¥ë̾¤Ï¡¢ÊÑ¿ôexplicit-shell-file-name ¤ÎÃͤ¬nil°Ê³°¤Ê¤é¤Ð¡¢¤³¤ÎÊÑ¿ô¤ÎÃͤǻØÄꤷ¤Þ¤¹¡£ nil¤Î¤È¤­¤Ï¡¢´Ä¶­ÊÑ¿ôESHELL¤ÎÃͤ¬»È¤ï¤ì¤Þ¤¹¤¬¡¢ ¤³¤ì¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï´Ä¶­ÊÑ¿ôSHELL¤ÎÃͤ¬»È¤ï¤ì¤Þ¤¹¡£ »ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤¬ÁêÂÐ̾¤Î¾ì¹ç¤Ï¡¢ exec-path¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê·²¤òõº÷¤·¤Þ¤¹¡£ ÊÑ¿ôexec-path¤Ï¡¢ Emacsµ¯Æ°»þ¤Î´Ä¶­ÊÑ¿ôPATH¤ò¤â¤È¤Ë½é´üÀßÄꤵ¤ì¤Þ¤¹¡£ ¸Ä¿Í¤Î¥Õ¥¡¥¤¥ë.emacs¤Ç¤³¤ì¤é¤ÎÊÑ¿ô¤ò¼«Í³¤ËÊѹ¹¤·¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡£

¥·¥§¥ë¤ËÂФ¹¤ë¥³¡¼¥Ç¥£¥ó¥°¥·¥¹¥Æ¥à¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢ M-x shell¤ÎľÁ°¤Ë¥³¥Þ¥ó¥ÉC-x RET c¤ò»È¤¤¤Þ¤¹¡£ ¤Þ¤¿¤Ï¡¢¥·¥§¥ë¤ò³«»Ï¤·¤¿¤¢¤È¤Ë¥·¥§¥ë¥Ð¥Ã¥Õ¥¡¤ÇC-x RET p¤ò »È¤Ã¤Æ¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ See Specify Coding¡£

shellname¤ò¥·¥§¥ë¤Î¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ¡¢ ¥Õ¥¡¥¤¥ë~/.emacs_shellname¤¬Â¸ºß¤¹¤ë¤È¡¢ Emacs¤Ï¥µ¥Ö¥·¥§¥ë¤ò¼Â¹Ô³«»Ï¤·¤¿Ä¾¸å¤Ë½é´üÀßÄê¤Î¤¿¤á¤Ë¡¢ ¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò¥·¥§¥ë¤Ø¤ÎÆþÎϤȤ·¤ÆÁ÷¤ê¹þ¤ß¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢bash¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ê¤é¥Õ¥¡¥¤¥ë~/.emacs_bash¤ÎÆâÍÆ¤¬Á÷¤é¤ì¤Þ¤¹¡£

Emacs¤Ï¡¢¥·¥§¥ë¥³¥Þ¥ó¥É¡¢cd¡¢pushd¡¢popd¤¬ ¥·¥§¥ë¤Ø¤ÎÆþÎϤȤ·¤ÆÁ÷¤é¤ì¤ë¤Î¤ò´Æ»ë¤·¡¢ ¥Ð¥Ã¥Õ¥¡‘*shell*’¤Î¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤È ¥·¥§¥ë¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤¬°ìÃפ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥·¥§¥ë¥³¥Þ¥ó¥É¤Ï¡¢Á÷¤é¤ì¤ëÆþÎϹԤÎʸ»úÎó¤ò¹½Ê¸Åª¤ËÄ´¤Ù¤Æ¼±Ê̤·¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥·¥§¥ë¥³¥Þ¥ó¥É¤ËÊÌ̾¤òÉÕ¤±¤ë¤Î¤Ê¤é¡¢ Emacs¤Ë¤â¤½¤ÎÊÌ̾¤Ë¤Ä¤¤¤Æ¶µ¤¨¤Æ¤ª¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢ÊÑ¿ôshell-pushd-regexp¤ÎÃͤ¬¥·¥§¥ë¤Ø¤ÎÆþÎϹԤÎÀèÆ¬¤Ë °ìÃפ¹¤ë¾ì¹ç¤Ï¡¢¤½¤Î¹Ô¤Ïpushd¥³¥Þ¥ó¥É¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£ ‘pushd’¤ËÊÌ̾¤òÉÕ¤±¤¿¤é¡¢¤³¤ÎÊÑ¿ô¤ÎÃͤòÊѹ¹¤·¤Þ¤¹¡£ ƱÍͤˡ¢shell-popd-regexp¤Èshell-cd-regexp¤Ï¡¢ ‘popd’¤È‘cd’¤ò¼±Ê̤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤Ï¥·¥§¥ë¤Ø¤ÎÆþÎϹԤÎÀèÆ¬Éôʬ¤Ë¤¢¤ë¤È¤­¤À¤± Àµ¤·¤¯Ç§¼±¤µ¤ì¤Þ¤¹¡£

Emacs¤Ï¡¢‘cd’¡¢‘pushd’¡¢‘popd’¤Î¥·¥§¥ë¥³¥Þ¥ó¥É¤À¤È »×¤ï¤ì¤ë¤â¤Î¤ò½èÍýÃæ¤Ë¥¨¥é¡¼¤ËÁø¶ø¤¹¤ë¤È¡¢ ¥Õ¥Ã¥¯shell-set-directory-err-hook¤ò¼Â¹Ô¤·¤Þ¤¹ ¡Êsee Hooks¡Ë¡£

Emacs¤¬¥µ¥Ö¥·¥§¥ë¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÀµ¤·¤¯Äɽ¾¤Ç¤­¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ ¥³¥Þ¥ó¥ÉM-x dirs¤ò»È¤Ã¤Æ¥·¥§¥ë¤Ë¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÌ䤤¹ç¤ï ¤»¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ï°ìÈÌŪ¤Ê¥³¥Þ¥ó¥É¤Î¹½Ê¸¤ò»ý¤Ä¥·¥§¥ë¤Ç¤Ïưºî¤·¤Þ¤¹¡£ ¤Ç¤¹¤¬¡¢¤È¤Æ¤âÊѤï¤Ã¤¿¥·¥§¥ë¤Ç¤Ïư¤«¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£

M-x dirtrack¤ò»È¤¦¤È¡¢ Ê̤Τâ¤Ã¤ÈÀѶËŪ¤Ê¤ä¤êÊý¤Ç¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ÎÊѹ¹¤Ë Äɽ¾¤¹¤ë¡Ê¤·¤Ê¤¤¡Ë¤è¤¦¤Ë¤â¤Ç¤­¤Þ¤¹¡£

Emacs¤Ï¡¢¥µ¥Ö¥·¥§¥ë¤Î´Ä¶­ÊÑ¿ôEMACS¤Ët¤òÀßÄꤷ¤Þ¤¹¡£ ¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ç¤³¤ÎÊÑ¿ô¤ò¸¡ºº¤¹¤ì¤Ð¡¢ Emacs¤Î¥µ¥Ö¥·¥§¥ë¤È¤·¤ÆÆ°¤¤¤Æ¤¤¤ë¤«¤É¤¦¤«È½Äê¤Ç¤­¤Þ¤¹¡£