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


27.14.3 ¥·¥§¥ë¥â¡¼¥É¡ÊShell¥â¡¼¥É¡Ë

¥·¥§¥ë¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¥·¥§¥ë¡Êshell¡Ë¥â¡¼¥É¤¬»È¤ï¤ì¡¢ ¥×¥ì¥Õ¥£¥Ã¥¯¥¹¥­¡¼C-c¤ò»ý¤ÄÆÃÊ̤ʥ­¡¼¤ò¤¤¤¯¤Ä¤«ÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤é¤Ï¡¢¤Þ¤ºC-c¤òÂǤĤ³¤È¤ò½ü¤±¤Ð¡¢ Emacs¤Î³°¤Ç¥·¥§¥ë¤ò»È¤¦¤È¤­¤ÎÄ̾ï¤Î¥³¥Þ¥ó¥É¹ÔÊÔ½¸¤ä ¥¸¥ç¥ÖÀ©¸æ¤Î¥­¡¼¤Ë»÷¤»¤ÆÄêµÁ¤·¤Æ¤¢¤ê¤Þ¤¹¡£ °Ê²¼¤Ï¡¢¥·¥§¥ë¡Êshell¡Ë¥â¡¼¥É¤Ç¤ÎÆÃÊ̤ʥХ¤¥ó¥Ç¥£¥ó¥°¤Î°ìÍ÷¤Ç¤¹¡£

RET

¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤ÇÂǤĤȡ¢1¹Ôʬ¤òÆþÎϤȤ·¤Æ¥·¥§¥ë¤ËÁ÷¤ë¡£ ¥Ð¥Ã¥Õ¥¡¤ÎËöÈø°Ê³°¤Ç¤Ï¡¢¸½ºß¹Ô¤ò¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤Ë¥³¥Ô¡¼¤·¤Æ¤«¤é¡¢ ¤½¤ì¤òÆþÎϤȤ·¤Æ¥·¥§¥ë¤ËÁ÷¤ë¡Êcomint-send-input¡Ë¡£ ¹Ô¤ò¥³¥Ô¡¼¤¹¤ë¤È¤­¡¢¹Ô¤ÎÀèÆ¬Éôʬ¤Îʸ»úÎó¤Ç ÊÑ¿ôshell-prompt-pattern¤Ë°ìÃפ¹¤ëÉôʬ¤Ï¥³¥Ô¡¼¤·¤Ê¤¤¡£ ¤³¤ÎÊÑ¿ô¤ÎÃͤϡ¢¥æ¡¼¥¶¡¼¤Î¥·¥§¥ë¤¬¥×¥í¥ó¥×¥È¤È¤·¤ÆÍѤ¤¤ë ʸ»úÎó¤Ë°ìÃפ¹¤ëÀµµ¬É½¸½¤Ç¤¢¤ë¤³¤È¡£

TAB

¥·¥§¥ë¥Ð¥Ã¥Õ¥¡¤Ç¥Ý¥¤¥ó¥È¤ÎľÁ°¤Ë¤¢¤ë¥³¥Þ¥ó¥É̾¤ä¥Õ¥¡¥¤¥ë̾¤òÊä´°¤¹¤ë ¡Êcomint-dynamic-complete¡Ë¡£ TAB¤Ï¡¢ÍúÎò»²¾È¡Êsee History References¡Ë¤ä ´Ä¶­ÊÑ¿ô̾¤âÊä´°¤Ç¤­¤ë¡£

ÊÑ¿ôshell-completion-fignore¤Ë¤Ï¡¢ ¥·¥§¥ë¡Êshell¡Ë¥â¡¼¥É¤Ç¤ÎÊä´°¤Ë¤ª¤¤¤Æ ̵»ë¤·¤¿¤¤¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤Ï¡¢Ì¾Á°¤¬¡¢‘~’¡¢‘#’¡¢‘%’¤Ç ½ª¤ë¥Õ¥¡¥¤¥ë¤ò̵»ë¤¹¤ë¡£ ´ØÏ¢¤¹¤ë¾¤Îcomint¥â¡¼¥É¤Ç¤Ï¤«¤ï¤ê¤Ë ÊÑ¿ôcomint-completion-fignore¤ò»È¤¦¡£

M-?

¥·¥§¥ë¥Ð¥Ã¥Õ¥¡¤Î¥Ý¥¤¥ó¥È¤ÎľÁ°¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë̾¤Î²Äǽ¤ÊÊä´°ÆâÍÆ¤ò °ì»þŪ¤Ëɽ¼¨¤¹¤ë¡Êcomint-dynamic-list-filename-completions¡Ë¡£

C-d

ʸ»ú¤òºï½ü¤¹¤ë¤«¡¢¤Þ¤¿¤Ï¡¢ EOF¤òÁ÷¤ë¡Êcomint-delchar-or-maybe-eof¡Ë¡£ ¥·¥§¥ë¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤ÇC-d¤òÂǤĤȥµ¥Ö¥·¥§¥ë¤ËEOF¤òÁ÷¤ë¡£ ¥Ð¥Ã¥Õ¥¡¤Î¤½¤ì°Ê³°¤Î°ÌÃ֤Ǥϡ¢C-d¤òÂǤĤÈÄ̾ï¤É¤ª¤ê1ʸ»úºï½ü¤¹¤ë¡£

C-c C-a

¹Ô¤ÎÀèÆ¬¤Ë¹Ô¤¯¡£ ¤¿¤À¤·¡¢¥×¥í¥ó¥×¥È¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¥×¥í¥ó¥×¥È¤Îľ¸å¤Ë¹Ô¤¯ ¡Êcomint-bol¡Ë¡£ Ʊ¤¸¹Ô¤Ç¤³¤Î¥³¥Þ¥ó¥É¤ò2²ó·«¤êÊÖ¤¹¤È¡¢2²óÌÜ¤Ç¤Ï¥×¥í¥»¥¹¥Þ¡¼¥¯¤ØÌá¤ë¡£ ¥×¥í¥»¥¹¥Þ¡¼¥¯¤È¤Ï¡¢¥µ¥Ö¥·¥§¥ë¤Ø¤Þ¤ÀÁ÷¤Ã¤Æ¤¤¤Ê¤¤ÆþÎϤγ«»Ï°ÌÃ֤Τ³¤È¡£ ¡ÊÄ̾¤³¤ì¤ÏƱ¤¸¾ì½ê¤Ç¤¢¤ê¡¢ ¥×¥í¥»¥¹¥Þ¡¼¥¯¤Ï¤½¤Î¹Ô¤Î¥×¥í¥ó¥×¥È¤Î½ª¤ê¤Ë¤¢¤ë¡£ ¤¿¤À¤·¡¢C-c SPC¤Î¤¢¤È¤Ç¤Ï¡¢ ¥×¥í¥»¥¹¥Þ¡¼¥¯¤Ï¤Þ¤¨¤Î¹Ô¤Ë¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¡Ë

C-c SPC

Ê£¿ô¤ÎÆþÎϹԤòί¤á¤Æ¤ª¤­¡¢¤Þ¤È¤á¤ÆÁ÷¤ë¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ý¥¤¥ó¥È¤Î¤Þ¤¨¤Ë²þ¹Ô¤òÁÞÆþ¤¹¤ë¤¬¡¢ ¾¯¤Ê¤¯¤È¤â¤Þ¤À¡¢¤½¤Î¹Ô¤òÆþÎϤȤ·¤Æ¥µ¥Ö¥·¥§¥ë¤ØÁ÷¤é¤Ê¤¤¡£ RET¤òÂǤĤȡ¢ ²þ¹Ô¤Î¤Þ¤¨¤Î1¹Ô¤È¤¢¤È¤Î1¹Ô¤ò¡Ê¶èÀÚ¤ê¤Î²þ¹Ô¤ò´Þ¤á¤Æ¡Ë¤Þ¤È¤á¤ÆÁ÷¤ë¡£

C-c C-u

¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤Ë¤¢¤ë¡¢¤Þ¤À¥·¥§¥ë¤ËÁ÷¤Ã¤Æ¤¤¤Ê¤¤¥Æ¥­¥¹¥È¤ò¤¹¤Ù¤Æ¥­¥ë¤¹¤ë ¡Êcomint-kill-input¡Ë¡£

C-c C-w

¥Ý¥¤¥ó¥È¤ÎľÁ°¤Î1¸ì¤ò¥­¥ë¤¹¤ë¡Êbackward-kill-word¡Ë¡£

C-c C-c

¥·¥§¥ë¡¢¤Þ¤¿¤Ï¡¢¤¢¤ì¤Ð¥µ¥Ö¥¸¥ç¥Ö¤Ë³ä¤ê¹þ¤à ¡Êcomint-interrupt-subjob¡Ë¡£ ¤Þ¤¿¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï ¥·¥§¥ë¥Ð¥Ã¥Õ¥¡Æâ¤Î¤Þ¤À¥·¥§¥ë¤ËÁ÷¤Ã¤Æ¤¤¤Ê¤¤¥Æ¥­¥¹¥È¤â¥­¥ë¤¹¤ë¡£

C-c C-z

¥·¥§¥ë¡¢¤Þ¤¿¤Ï¡¢¤¢¤ì¤Ð¥µ¥Ö¥¸¥ç¥Ö¤òÃæÃǤ¹¤ë ¡Êcomint-stop-subjob¡Ë¡£ ¤Þ¤¿¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï ¥·¥§¥ë¥Ð¥Ã¥Õ¥¡Æâ¤Î¤Þ¤À¥·¥§¥ë¤ËÁ÷¤Ã¤Æ¤¤¤Ê¤¤¥Æ¥­¥¹¥È¤â¥­¥ë¤¹¤ë¡£

C-c C-\

¥·¥§¥ë¡¢¤Þ¤¿¤Ï¡¢¤¢¤ì¤Ð¥µ¥Ö¥¸¥ç¥Ö¤Ë¥·¥°¥Ê¥ëQUIT¤òÁ÷¤ë ¡Êcomint-quit-subjob¡Ë¡£ ¤Þ¤¿¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï ¥·¥§¥ë¥Ð¥Ã¥Õ¥¡Æâ¤Î¤Þ¤À¥·¥§¥ë¤ËÁ÷¤Ã¤Æ¤¤¤Ê¤¤¥Æ¥­¥¹¥È¤â¥­¥ë¤¹¤ë¡£

C-c C-o

ľÁ°¤Î¥·¥§¥ë¥³¥Þ¥ó¥É¤«¤é¤Î¤Ò¤È¤Þ¤È¤Þ¤ê¤Î½ÐÎϤò¥­¥ë¤¹¤ë ¡Êcomint-kill-output¡Ë¡£ ¥·¥§¥ë¥³¥Þ¥ó¥É¤¬ÂçÎ̤νÐÎϤò½Ð¤·¤Æ¤·¤Þ¤Ã¤¿¤È¤­¤Ê¤É¤ËÍ­¸ú¡£

C-c C-r
C-M-l

ľÁ°¤Î¤Ò¤È¤Þ¤È¤Þ¤ê¤Î½ÐÎϤ¬¥¦¥£¥ó¥É¥¦¤ÎÀèÆ¬¤Ë¤¯¤ë¤è¤¦¤Ë¥¹¥¯¥í¡¼¥ë¤¹¤ë¡£ ¤Þ¤¿¡¢¥Ý¥¤¥ó¥È¤â¤½¤³¤ØÆ°¤«¤¹¡Êcomint-show-output¡Ë¡£

C-c C-e

¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤¬¥¦¥£¥ó¥É¥¦¤Î²¼Ã¼¤Ë¤¯¤ë¤è¤¦¤Ë¥¹¥¯¥í¡¼¥ë¤¹¤ë ¡Êcomint-show-maximum-output¡Ë¡£

C-c C-f

¥·¥§¥ë¥³¥Þ¥ó¥É1¤Äʬ¤À¤±Àè¤Ø¿Ê¤á¤ë¤¬¡¢¸½ºß¹Ô¤ÎËöÈø¤è¤êÀè¤Ø¤Ï¤¤¤«¤Ê¤¤ ¡Êshell-forward-command¡Ë¡£ ÊÑ¿ôshell-command-regexp¤Ë¤Ï¡¢ ¥·¥§¥ë¥³¥Þ¥ó¥É¤Î½ª¤ê¤Îõ¤·Êý¡ÊÀµµ¬É½¸½¡Ë¤ò»ØÄꤹ¤ë¡£

C-c C-b

¥·¥§¥ë¥³¥Þ¥ó¥É1¤Äʬ¤À¤±¼êÁ°¤ØÌá¤ë¤¬¡¢¸½ºß¹Ô¤ÎÀèÆ¬¤è¤ê¤Þ¤¨¤Ø¤Ï¤¤¤«¤Ê¤¤ ¡Êshell-backward-command¡Ë¡£

C-c C-l

¥Ð¥Ã¥Õ¥¡¤Î¥·¥§¥ë¥³¥Þ¥ó¥ÉÍúÎò¤òÊ̤Υ¦¥£¥ó¥É¥¦¤Ëɽ¼¨¤¹¤ë ¡Êcomint-dynamic-list-input-ring¡Ë¡£

M-x dirs

¥·¥§¥ë¤Ë¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÌ䤤¹ç¤ï¤»¡¢ Emacs¦¤Î¤â¤Î¤ò¥·¥§¥ë¤Ë¹ç¤ï¤»¤ë¡£

M-x send-invisible RET text RET

text¤ò¥¨¥³¡¼¥Ð¥Ã¥¯¤»¤º¤ËÆÉ¤ß¼è¤ê¡¢ ÆþÎϤȤ·¤Æ¥·¥§¥ë¤ØÁ÷¤ë¡£ ¥Ñ¥¹¥ï¡¼¥É¤òÌ䤤¹ç¤ï¤»¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òµ¯Æ°¤¹¤ë ¥·¥§¥ë¥³¥Þ¥ó¥É¤ÇÌòΩ¤Ä¡£

¤«¤ï¤ê¤Ë¡¢¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Æ¡¢ Emacs¤Ë¥Ñ¥¹¥ï¡¼¥É¥×¥í¥ó¥×¥È¤òǧ¼±¤µ¤»¤Æ¥¨¥³¡¼¥Ð¥Ã¥¯¤òÍÞÀ©¤¹¤ëÊýË¡¤â¤¢¤ë¡£

(add-hook 'comint-output-filter-functions
          'comint-watch-for-password-prompt)
M-x comint-continue-subjob

¥·¥§¥ë¥×¥í¥»¥¹¤ò·Ñ³¤µ¤»¤ë¡£ ¤³¤ì¤Ï¤Þ¤Á¤¬¤Ã¤Æ¥·¥§¥ë¥×¥í¥»¥¹¤òµÙ»ß¤µ¤»¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤ËÌòΩ¤Ä¡£ 53

M-x comint-strip-ctrl-m

¸½ºß¤Î°ì·²¤Î¥·¥§¥ë¤Î½ÐÎϤ«¤éÉüµ¢¡Ê¥³¥ó¥È¥í¡¼¥ëM¡Ëʸ»ú¤òºï½ü¤¹¤ë¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Î¤â¤Ã¤È¤âÊØÍø¤Ê»È¤¤Êý¤Î1¤Ä¤Ï¡¢ ¥µ¥Ö¥·¥§¥ë¤Î½ÐÎϤò¼õ¤±¼è¤ë¤È¼«Æ°Åª¤Ë¤³¤Î¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤Ë ÀßÄꤷ¤Æ¤ª¤¯¤³¤È¤Ç¤¢¤ë¡£ ¤½¤Î¤¿¤á¤Ë¤Ï¡¢¤Ä¤®¤ÎLisp¼°¤òɾ²Á¤¹¤ì¤Ð¤è¤¤¡£

(add-hook 'comint-output-filter-functions
          'comint-strip-ctrl-m)
M-x comint-truncate-buffer

¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÊÑ¿ôcomint-buffer-maximum-size¤Ç»ØÄꤷ¤¿Â礭¤µ¤Ë ¥·¥§¥ë¥Ð¥Ã¥Õ¥¡¤Î¹Ô¿ô¤òÀÚ¤êµÍ¤á¤ë¡£ ¥µ¥Ö¥·¥§¥ë¤«¤é½ÐÎϤò¼õ¤±¼è¤ë¤¿¤Ó¤Ë ¤³¤ì¤ò¼«Æ°Åª¤Ë¹Ô¤¦¤Ë¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤¹¤ë¡£

(add-hook 'comint-output-filter-functions
          'comint-truncate-buffer)

¥·¥§¥ë¡Êshell¡Ë¥â¡¼¥É¤Ç¤ÏÃÊÍ¥Þ¥ó¥É¤Ë¤â½¤Àµ¤ò²Ã¤¨¤Æ¤¢¤ê¡¢ ¥·¥§¥ë¥×¥í¥ó¥×¥È¤Ç¤Î¤ß¿·¤·¤¤ÃÊÍ»Ï¤Þ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¥·¥§¥ë¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¡¢ 1¤Ä¤ÎÃÊÍî¤Ï¥·¥§¥ë¥³¥Þ¥ó¥É¤È¤½¤Î½ÐÎϤ«¤éÀ®¤ë¤Î¤Ç¤¹¡£

¥·¥§¥ë¡Êshell¡Ë¥â¡¼¥É¤Ï¡¢ÂÐÏÃŪ¤Ê¥µ¥Ö¥×¥í¥»¥¹¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤ÎÈÆÍѥ⡼¥É¤Ç¤¢¤ë comint¥â¡¼¥É¤«¤é¤ÎÇÉÀ¸¤Ç¤¹¡£ ¤³¤³¤Þ¤Ç¤Ë¤¢¤²¤Æ¤­¤¿¥³¥Þ¥ó¥É¤Î̾Á°¤«¤é¤â¤ï¤«¤ë¤è¤¦¤Ë¡¢ ¥·¥§¥ë¡Êshell¡Ë¥â¡¼¥É¤Î¿ô¿¤¯¤Îµ¡Ç½¤Ï¡¢¼Â¤Ï¡¢comint¥â¡¼¥É¤«¤é¤­¤Æ¤¤¤Þ¤¹¡£ ¥·¥§¥ë¡Êshell¡Ë¥â¡¼¥É¤Ë¸ÇÍ­¤ÊÆÃÊ̤ʵ¡Ç½¤Ï¡¢Àµµ¬É½¸½¤Ë´ð¤Å¤¯¥×¥í¥ó¥×¥È¤Îǧ¼±¡¢ ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ÎÄÉÀס¢¤ª¤è¤Ó¡¢¾¯¿ô¤Î¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É¤Ë¸Â¤é¤ì¤Þ¤¹¡£

comint¥â¡¼¥É¤«¤éÇÉÀ¸¤·¤¿Emacs¤Î¤Û¤«¤Îµ¡Ç½¤È¤·¤Æ¤Ï¡¢ GUD¡Êsee Debuggers¡Ë¤È M-x run-lisp¡Êsee External Lisp¡Ë¤¬¤¢¤ê¤Þ¤¹¡£

M-x comint-run¤ò»È¤¦¤È¡¢ ¥·¥§¥ë¡Êshell¡Ë¥â¡¼¥É¸ÇÍ­¤Îµ¡Ç½¤ò»ý¤¿¤Ê¤¤comint¥â¡¼¥É¤Ç¡¢ Ǥ°Õ¤Î¥×¥í¥°¥é¥à¤ò¥µ¥Ö¥×¥í¥»¥¹¤È¤·¤Æ¼Â¹Ô¤Ç¤­¤Þ¤¹¡£


Footnotes

(53)

¥·¥§¥ë¥×¥í¥»¥¹¤òµÙ»ß¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£ ¥·¥§¥ë¤Î¥µ¥Ö¥¸¥ç¥Ö¤òµÙ»ß¤¹¤ë¤Î¤È¤Ï¤Þ¤Ã¤¿¤¯Ê̤Τ³¤È¤Ç¤¢¤ê¡¢ ¤³¤Á¤é¤ÏÉáÄ̤˹ԤäƤ褤¡£ ¤¿¤À¤·¡¢µÙ»ß¤·¤¿¥µ¥Ö¥¸¥ç¥Ö¤Ï¥·¥§¥ë¤ÇºÆ³«¤µ¤»¤ëɬÍפ¬¤¢¤ë¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ç¤ÏºÆ³«¤Ç¤­¤Ê¤¤¡£


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