Emacs Install Script
Emacs ÆÐÅ°Áö ¼³Ä¡Çϱ⠶InternetÀ» µÚÁö´Ù º¸¸é, Emacs¿¡¼ ¾µ ¼ö ÀÖ´Â ¿©·¯ Elisp package (.el)µéÀÌ Á¸ÀçÇÕ´Ï´Ù. °¡Àå ÁÁÀº °÷Àº EmacsWikiÀ̸ç, ÀÌ ±Û¿¡¼´Â ÀÌ·± packageµéÀ» ¹Þ¾Æ¼ ¼³Ä¡ÇÏ°í ¾²´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.
ÀÏ´Ü xxx.elÀ̶ó´Â package¸¦ ¹Þ¾Ò´Ù°í °¡Á¤ÇսôÙ. ¼Óµµ¸¦ ºü¸£°Ô Çϱâ À§ÇØ, ÀÌ ÆÄÀÏÀ» ¸ÕÀú ÄÄÆÄÀÏÇÏ´Â °úÁ¤ÀÌ ÇÊ¿äÇÕ´Ï´Ù. xxx.elÀ» ÄÄÆÄÀÏÇϸé xxx.elc¶ó´Â ÆÄÀÏÀÌ »ý±é´Ï´Ù.
°¡Àå ½¬¿î ¹æ¹ýÀº Emacs¸¦ ½ÇÇà½ÃŲ ´ÙÀ½ M-x byte-compile-file<RET> xxx.el<RET> ¸í·ÉÀ» ¾²´Â °ÍÀÌÁö¸¸, shell prompt¿¡¼ ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÏ´Â °ÍÀÌ ´õ ÆíÇÕ´Ï´Ù:
$ emacs -q --batch --eval '(byte-compile-file "xxx.el")'
ÀÌÁ¦ ¼³Ä¡ÇØ¾ß Çϴµ¥, ¼³Ä¡ ¹æ¹ýÀº ´ÙÀ½°ú °°ÀÌ ³ª´ ¼ö ÀÖ½À´Ï´Ù:
ÇÑ »ç¿ëÀÚ¿ëÀ¸·Î ¼³Ä¡ ¶³ª¸¸ ¾²±â À§Çؼ´Â ¸ÕÀú ƯÁ¤ÇÑ µð·ºÅ丮¿¡ (ÇÊÀÚ´Â $HOME/.emacs.d/¸¦ »ç¿ëÇÕ´Ï´Ù.) xxx.elÀ» ÀúÀåÇÕ´Ï´Ù:
$ mkdir $HOME/.emacs.d
$ cp xxx.el $HOME/.emacs.d/ $ cp xxx.elc $HOME/.emacs.d/ Emacs¿¡¼ package¸¦ ºÒ·¯ ¿À´Âµ¥ (load-library "xxx")¸¦ ¾¹´Ï´Ù. ÀÌ ÇÔ¼ö´Â load-path º¯¼ö¿¡ ÀúÀåµÇ¾î ÀÖ´Â
°æ·ÎµéÀ» µÚÁ® xxx.elc ¶Ç´Â xxx.elÀ» ã¾Æ¼ ºÒ·¯¿É´Ï´Ù. À§¿¡¼ ¿ì¸®°¡ ¸¸µç $HOME/.emacs.d´Â ÀÌ load-path¿¡ ¾ø±â ¶§¹®¿¡ ´ÙÀ½°ú °°ÀÌ $HOME/.emacs¿¡ Ãß°¡ÇÏ¿©, load-path¿¡ ¿ì¸®°¡ ¸¸µç µð·ºÅ丮¸¦ Ãß°¡Çϵµ·Ï ÇÕ´Ï´Ù:
(setq load-path (cons (expand-file-name "~/.emacs.d/") load-path))
ÀÌÁ¦ Emacs¸¦ ½ÃÀÛÇϸé M-x load-library<RET> xxx<RET>À¸·Î ÀÌ package¸¦ ºÒ·¯¿Ã ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à Emacs¸¦ ½ÃÀÛÇÒ ¶§, ÀÌ package°¡ ÀÚµ¿À¸·Î ·ÎµåµÇ±â ¿øÇÑ´Ù¸é $HOME/.emacs¿¡ ´ÙÀ½À» Ãß°¡ÇÕ´Ï´Ù (À§ load-path¿¡ °üÇÑ ÄÚµå ¾Æ·§ÂÊ¿¡):
(load-library "xxx")
¸¸¾à package°¡ ¸Å¿ì Å« ÆÄÀÏÀÏ °æ¿ì, ÀÚµ¿À¸·Î ºÒ·¯¿Àµµ·Ï Çß´Ù¸é, Emacs¸¦ óÀ½ ½ÃÀÛÇÒ ¶§ Á¶±Ý ½Ã°£ÀÌ °É¸³´Ï´Ù.
¸ðµç »ç¿ëÀÚ¿ëÀ¸·Î ¼³Ä¡ ¶¸ÕÀú root ±ÇÇÑÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
´ÙÀ½À¸·Î Emacs lisp ÆÄÀϵéÀÌ ¼³Ä¡µÈ °÷À» ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. ´ë°³ /usr/share/emacs ¶Ç´Â /usr/local/share/emacs°¡ ±× °÷ÀÔ´Ï´Ù. ¸¸¾à ÀÌ·± µð·ºÅ丮°¡ ¾ø´Ù¸é ´ÙÀ½°ú °°ÀÌ Emacs¸¦ ½ÇÇàÇؼ ±× À§Ä¡¸¦ ÃßÃøÇÒ ¼ö ÀÖ½À´Ï´Ù:
$ emacs --batch
Loading /usr/share/emacs/site-lisp/site-start.d/lang-coding-systems-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/php-mode-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/po-mode-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/psgml-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/python-mode-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/rpm-spec-mode-init.el (source)... $ _ ¾ÕÀ¸·Î ÀÌ ±Û¿¡¼ ÀÌ ¼³Ä¡ µð·ºÅ丮¸¦ EMACS_PREFIX·Î ºÎ¸£±â·Î ÇÕ´Ï´Ù.
ÀÌ µð·ºÅ丮¸¦ º¸¸é site-lispÀ̶ó´Â µð·ºÅ丮°¡ ÀÖ½À´Ï´Ù. ¹Ù·Î ÀÌ °÷ÀÌ, »õ·Î °¡Á®¿Â packageµéÀ» ¼³Ä¡ÇÏ´Â °÷ÀÔ´Ï´Ù. µû¶ó¼ ¾Õ¿¡¼ ¸¸µç xxx.el°ú xxx.elc¸¦ ÀÌ °÷¿¡ º¹»çÇÕ´Ï´Ù:
# cp xxx.el EMACS_PREFIX/site-lisp/
# cp xxx.elc EMACS_PREFIX/site-lisp/ Emacs´Â óÀ½ ½ÇÇàµÉ ¶§, $HOME/.emacs¸¦ Àбâ Àü¿¡ EMACS_PREFIX/site-lisp/site-start.elÀ» ÀоîµéÀÔ´Ï´Ù. µû¶ó¼ ¸ðµç »ç¿ëÀÚ°¡ emacs¸¦ ½ÇÇàÇÒ ¶§ ÀÚµ¿À¸·Î ÀÌ package¸¦ ºÒ·¯¿À°Ô ÇÏ·Á¸é ÀÌ ÆÄÀÏ¿¡ ´ÙÀ½À» Ãß°¡ÇÕ´Ï´Ù:
(load-library "xxx")
¾Õ¿¡¼µµ ¸»ÇßÁö¸¸, package°¡ Ŭ °æ¿ì, emacs ½ÃÀÛÀÌ »ó´çÈ÷ ´À¸± ¼ö ÀÖ½À´Ï´Ù.
Gentoo¿¡¼´Â EMACS_PREFIX/site-lisp/site-start.elÀÌ EMACS_PREFIX/site-lisp/site-gentoo.el¸¦ ºÒ·¯¿Àµµ·Ï µÇ¾î ÀÖ½À´Ï´Ù. ±×¸®°í emerge·Î Emacs package¸¦ ¼³Ä¡ÇÑ °æ¿ì, ÀÌ site-gentoo.elÀÌ ÀÚµ¿À¸·Î ±× ÆÐÅ°Áö ÆÄÀÏÀ» ºÒ·¯¿Àµµ·Ï µÇ¾î ÀÖ½À´Ï´Ù. (°á±¹ ÀÌ ±ÛÀÇ ¸ðµç ³»¿ëÀ» ½Å°æ¾µ ÇÊ¿ä°¡ ÀüÇô ¾ø½À´Ï´Ù. )
³¡. -- ½Å¼º±¹
¿©·¯ °³ÀÇ .el ÆÄÀϵéÀ» ÄÄÆÄÀÏÇÒ ¶§¿¡´Â ´ÙÀ½ ¸í·ÉÀ» ¾²´Â °ÍÀÌ Æí¸®ÇÕ´Ï´Ù:
$ emacs -batch -f batch-byte-compile *.el
|