
ç§ã¯ããªãé·ãéEmacsã䜿çšããŠããŸãããäžè¬çã«ã¯ããã¹ãŠãé£ç¶ããŠäœ¿çšããŠããŸãã ãã®ããã¹ãããã»ããµã§é åžãããelispããã±ãŒãžã®æ°ã¯åžžã«å¢å ããŠããŸããããµãŒãããŒãã£ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããå¿ èŠãããå ŽåããããŸãã æéãçµã€ã«ã€ããŠããã®æ°ãåŸã ã«å¢å ããäŸåé¢ä¿ã远跡ããå¿ èŠããããŸãããŸããäžè¬ã«ãããã±ãŒãžãããŒãžã£ãŒã®ã¿ã¹ã¯ã®æšæºã»ãããæŽæ°ããå¿ èŠããããŸãïŒãŸãã¯ã§ããã°ïŒã æè¿ãŸã§ãLinuxã¿ã€ãaptãportageã®ã·ã¹ãã ããã±ãŒãžãããŒãžã£ãŒã䜿çšããŠãelispããã±ãŒãžãã€ã³ã¹ããŒã«ããŠããŸããã ãã¡ãããäžäŸ¿ãªç¹ããããŸããããå®éã®åé¡ã¯ãWindowsããã³Mac OSã§Emacsã䜿çšããå¿ èŠããããšãã«å§ãŸããŸããã å®éã®ããã±ãŒãžç®¡çã«å ããŠãã/ .emacsã®èšå®ã ãã§ãªããã€ã³ã¹ããŒã«ãããŠãããã¹ãŠã®ãã¡ã€ã«ãåæããå¿ èŠããããŸããã
ãã®çµæãã§ããã°æ¬¡ã®å質ãåããæ¬æ Œçãªelispããã±ãŒãžãããŒãžã£ãŒã䜿çšããããã«æçããŸããã
- 倧èŠæš¡ãªããã±ãŒãžããŒã¿ããŒã¹
- ç¬èªã®ããã±ãŒãžãäœæããã³ç¶æãã䟿å©ã
- ã€ã³ã¹ããŒã«ãããããã±ãŒãžã®ã³ã³ãã¥ãŒã¿ãŒéã®åæã®å®¹æã
- è¿œå ã®ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããã«ã¯ãã¹ãã©ãããã©ãŒã
æ¢åã®å¯èœæ§ã«ã€ããŠå°ã調æ»ããåŸããã®ã¬ãã¥ãŒãå€æããŸããããã®ã¬ãã¥ãŒã§ã¯ãelpaãšel-getã«ã€ããŠè©³ãã説æãããã®ä»ã«ã€ããŠç°¡åã«èª¬æããŸãã
éèŠãªæ³šæïŒä»¥äžã§èª¬æãããã¹ãŠã¯emacs 23ã®å®å®ããŒãžã§ã³ã§è©ŠãããŸããã以åã®ããŒãžã§ã³ã¯èª¬æã©ããã«åäœããªãå ŽåããããŸãã ç°ãªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ã®ç¹å¥ãªãã¹ãã¯å®è¡ããããåäœäžã«ããã€ãã®å°ããªããšãçºèŠãããŸããã
ELPAãŸãã¯package.el
æåã¯ãEmacs Lisp Package ArchiveïŒãããelpaã®ç¥ã§ãïŒãããã«ãããŸãããããªãªãžãã«ã¯ãŸã ããŠã³ããŒãããŠã€ã³ã¹ããŒã«ã§ããŸãã çŸåšãpackage.elã¯emacséçºããªãŒã§ãµããŒããããŠããããªãªãŒã¹24ã«å«ãŸããŸããã€ãŸããelpaã«ã¯æœåšçã«å€§ããªãŠãŒã¶ãŒããŒã¹ããããããããã±ãŒãžããŒã¹ãéçºãããŸãã ã¡ãªã¿ã«ãããã¯ããããEmacs Starter Kitã«ããŒèšå®ãããŠããŸããããã¯ããããåå¿è åãã®elpaãã€ã³ã¹ããŒã«ããæãç°¡åãªæ¹æ³ã§ãããããã«emacs 22ã§ãæ©èœããŸãããç§ã®ç®çã«ã¯ããŸãã«ãäžå¿ èŠã§ãã package.elã¯emacséçºããªãŒããååŸããæ¹ãã¯ããã«ç°¡åã§ããpackage.elãå®å šã«ç¬ç«ããªããªã£ãããã ãã®ããŒãžã§ã³ããå§ãããŸãã
ãããã£ãŠãã/ .emacs.d / elpaãã©ã«ããŒãäœæããŠãã€ã³ã¹ããŒã«ãããŠãããã¹ãŠã®ããã±ãŒãžãä¿åããããŠã³ããŒããããã¡ã€ã«ãããã«çœ®ãã次ã®è¡ãã/ .emacsã«è¿œå ããŸãã
;;; This was installed by package-install.el.
;;; Move this code earlier if you want to reference packages in your .emacs.
(when (load (expand-file-name "~/.emacs.d/elpa/package.el"))
(package-initialize))
ãã®ã³ãã³ããå®è¡ããåŸïŒãŸãã¯ææªã®å Žåemacsãåèµ·åããåŸïŒãMx list-packagesãè©ŠããŠãããŒã¿ããŒã¹ããããã±ãŒãžã®ãªã¹ããååŸããã³è¡šç€ºã§ããŸãã ããã©ã«ãã§ã¯ã httpïŒ//elpa.gnu.orgã䜿çšãããŸããããã«ã¯ããªãã®æ°ã®ããã±ãŒãžãããããããªããžããªãè¿œå ããŸãã
;; use more repositories for elpa
(setq package-archives '(("elpa" . "http://tromey.com/elpa/")
("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")))
é·æïŒ
- emacsã®å°æ¥ã®ããŒãžã§ã³ã§ã®ãµããŒãã®ä¿èšŒã
- 絶察ã«ã¯ãã¹ãã©ãããã©ãŒã ã®çŽç²ãªelispã
- éäžãªããžããªã«ãããæ°ããããã±ãŒãžãç°¡åã«èŠã€ããŠãã¹ãã§ããŸãã
- ããã±ãŒãžãæ€çŽ¢ããã³è¡šç€ºããããã®åªããã€ã³ã¿ãŒãã§ãŒã¹ã
çæïŒ
- ïŒæªïŒã€ã³ã¹ããŒã«æžã¿ããã±ãŒãžã«é¢ããè¿œå æ å ±ã¯ã»ãšãã©ãããŸãããã€ã³ã¹ããŒã«æ¥ããªããžããªåãªã©ã¯ãããŸããã
- ã€ã³ã¹ããŒã«æžã¿ããã±ãŒãžã®ãªã¹ãããµããŒãããŠããªããããç°ãªããã·ã³ã§ããã±ãŒãžãåæããã®ãé£ãããªããŸãã
- ããã±ãŒãžãšäŸåé¢ä¿ãåé€ã§ããŸãã
çŸåšãŸã§ã«ããªããžããªã«ã¯çŽ330ã®ããã±ãŒãžããããæ°ãæåã«ã¯çŽ280ã®ããã±ãŒãžããããŸããããé²å±ã¯æããã§ãã
el-get.el
GitHubã§èŠã€ããããšãã§ããŸãïŒä»ã®å ŽæïŒïŒãããã§ãèè ã¯Emacs Starter Kitã®ä»£æ¿ãšããŠEmacs Kickerãææ¡ããŠããŸãã ã³ãã³ãã1ã€å®è¡ããã ãã§ãelpaãšåãããã«el-getãã€ã³ã¹ããŒã«ã§ããŸããã³ãã³ãã¯ã€ã³ã¹ããŒã«ã¹ã¯ãªãããããŠã³ããŒãããgithubãããªããžããªãã/ .emacs.d / el-getã«ã¯ããŒã³ããŠåæåããŸãã ã/ .emacs.dã¯ãã§ã«gitã®ç£èŠäžã«ãããããgitãµãã¢ãžã¥ãŒã«ã䜿çšããŸããã
cd ~
mkdir .emacs.d/el-get
git submodule add github.com/dimitri/el-get.git .emacs.d/el-get/el-get
ããã«ããããããŒãžã£ãŒãšããã±ãŒãžããŒã¿ããŒã¹ïŒ ã¬ã·ã ïŒã®äž¡æ¹ãç°¡åã«æŽæ°ã§ããŸãã ã¬ã·ãããã®ãã¹ãŠã®ããã±ãŒãžã¯ã/ .emacs.d / el-getã«ã€ã³ã¹ããŒã«ãããelpaããã±ãŒãžãšæ··ãããŸããã éå§ããã«ã¯ã次ãã/ .emacsã«è¿œå ããå¿ èŠããããŸãã
;;; check if git sumbodule is there before loading el-get
(when (file-readable-file "~/.emacs.d/el-get/el-get/el-get.el")
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
(require 'el-get)
;; packages to manage
(setq el-get-sources
'((:name magit :type elpa)
))
(setq recipes
(append
'(bbdb mediawiki auctex)
(mapcar 'el-get-source-name el-get-sources)))
(el-get 'sync recipes))
el-getãããŠã³ããŒãããåŸãã³ãŒãã¯ã€ã³ã¹ããŒã«ãããããã±ãŒãžããã§ãã¯ããäžè¶³ããŠããå Žåã¯ã€ã³ã¹ããŒã«ãè©Šã¿ãŸãã ãããã£ãŠãel-getãbbdbãmediawikiãããã³auctexã¯ç¬èªã®ã¬ã·ãããã€ã³ã¹ããŒã«ãããmagitã¯elpaã䜿çšããŠã€ã³ã¹ããŒã«ãããŸãã ããã«ãapt-getãgitã ãã®ä»ãã¹ãŠããã®ã€ã³ã¹ããŒã«ãå¯èœã§ãã åæã«ãelpaãšapt-getã¯ããã±ãŒãžãå¥ã ã®ãã©ã«ããŒã«ã€ã³ã¹ããŒã«ããååãšããŠãããã±ãŒãžãåå¥ã«ç®¡çã§ããŸãã el-getã¯ãã£ã¬ã¯ããªå ã«ã·ã³ããªãã¯ãªã³ã¯ãäœæããããã±ãŒãžãå€éšããåé€ããããšäžå¿«ã«ãªããããããã¯æšå¥šãããŸããã äžè¬ã«ãäžèšã®ããã«ãã€ã³ã¹ããŒã«ãããããã±ãŒãžã®ãªã¹ããšãªãã·ã§ã³ã1ã€ã®å Žæã«ä¿åããæ¹ãé©åã§ããããã«ãããã³ã³ãã¥ãŒã¿ãŒéã®åæãå€§å¹ ã«ç°¡çŽ åãããŸãã
ã¬ã·ãã¯Mx el-get-installã䜿çšããŠã€ã³ã¿ã©ã¯ãã£ãã«ã€ã³ã¹ããŒã«ããããšãã§ããŸããããã©ããã«å ¥ãããšãã§ããŸãïŒãã§ã«ã€ã³ã¹ããŒã«ãããŠããããã±ãŒãžã¯èªåè£å®ãªã¹ãã«è¡šç€ºãããªããããããŒã¿ããŒã¹ã«ãªããšãã誀ã£ãå°è±¡ãåãããããããŸããã ããã¯ãããã±ãŒãžã®ãªã¹ããæ瀺çã«ä¿æãããã1ã€ã®çç±ã§ãã
åæãšããã°ã å¿ èŠãªãã®ããã¹ãŠæ°ããå Žæã«ã€ã³ã¹ããŒã«ããã«ã¯ãemacsãèµ·åããåã«ããã€ãã®ã³ãã³ããå®è¡ããã ãã§ãã
cd ~
git submodule init
git submodule update
emacsãïŒåïŒèµ·åãããšããã¹ãŠãèªåçã«ã€ã³ã¹ããŒã«ãããŸãã 確ãã«ãããã€ãã®èœãšãç©ŽããããŸãã
- emacsã«å ããŠãããã±ãŒãžãã³ã³ãã€ã«ããããã«è¿œå ã®ããã°ã©ã ãå¿ èŠãªå Žåãããããã€ã³ã¹ããŒã«ããŠåäœãããå¿ èŠããããŸãã emacs-w3mãäŸã«æããŸãããããœãŒã¹ãããŠã³ããŒãããã«ã¯cvsãã³ã³ãã€ã«ããã«ã¯autoconfãå¿ èŠã§ãã æ£çŽãªãšãããemacs-w3mãWindowsã§åäœãããããšã¯ã§ããŸããã§ããã
- apt-getã䜿çšããå ŽåãLinuxã§ã¯ããã±ãŒãžã¯debian掟çç©ã«ã®ã¿ã€ã³ã¹ããŒã«ã§ããMac OSã§ã¯Finkã䜿çšã§ããŸãïŒel-getããµããŒãããŠããŸãïŒããããã¯äžäººåãã§ã¯ãããŸããã ããã«ããã®ãããªããã±ãŒãžã¯ã·ã¹ãã ã«ã€ã³ã¹ããŒã«ãããããã管çè æš©éãå¿ èŠã§ãã
- ãµãŒãããŒãã£ã®ããã±ãŒãžãããŒãžã£ãŒã§ã·ã³ããªãã¯ãªã³ã¯ã䜿çšãããšãWindows XPã§ã®ç掻ãå€§å¹ ã«è€éã«ãªããæãã«ã¯ãµããŒããããŸããã äžå®å®ãªãã©ã³ãã§ä¿®æ£ãããŠããããã§ããããŸã è©ŠããŠããŸããã
é·æïŒ
- ã€ã³ã¹ããŒã«æžã¿ããã±ãŒãžã®ãªã¹ããä¿æããŸãã
- ããã±ãŒãžãåé€ã§ããŸãã
- ããŒãžã§ã³2.2以éã§ã¯ãel-getã«ã¯é©å¿ããŒãžã§ã³ãå«ãŸããŠãããããelpaã§ã®ãã¹ãŠã®æäœã¯äžèŠã«ãªããŸãã
- ååãšããŠãã¯ãã¹ãã©ãããã©ãŒã ïŒäžèšã®èœãšãç©Žãåç §ïŒ;
- ç©æ¥µçã«éçºãããŸããã
çæïŒ
- ããŒãžã§ã³ããŸã£ãã远跡ããŸããã
- éåžžã«äžäŸ¿ãªã€ã³ã¿ãŒãã§ãŒã¹ïŒã¬ã·ãããã®ããã±ãŒãžã®ååã¯ãªãŒãã³ã³ããªãŒãã䜿çšããŠè¡šç€ºã§ããel-get-describeã§è¿œå æ å ±ãèŠæ±ã§ããŸãããelpaã®ãããªèª¬æä»ãã®çŸãããªã¹ãã¯ãããŸããã
ã¬ã·ãã«ã¯çŽ350åã®ãã±ãããèŠã€ãããelpaãã±ãããè¿œå ãããšãããªãçŸããæ°ã«ãªããŸãã ååãšããŠã emacswikiããããã±ãŒãžãã€ã³ã¹ããŒã«ã§ããŸããããã¯çŽ1660ããã±ãŒãžã§ãã
æ®ã
ç§ã¯æ®ãã®ããã±ãŒãžãããŒãžã£ãŒãéåžžã«ç°¡åã«èª¿ã¹ãŸãã;ãããŒãžã£ãŒã®ãªã¹ããšè¿œå æ å ±ã¯EmacsWikiãšStackOverflowã«ãããŸãã
- èªåã€ã³ã¹ããŒã« ïŒemacswikiãäžå åãããããã±ãŒãžããŒã¿ããŒã¹ãšããŠäœ¿çšãïŒä»ã®ãªãã·ã§ã³ãå¯èœïŒãäŸåé¢ä¿ã远跡ããããŒãžã§ã³éã®éãã衚瀺ã§ããŸãã el-getããã€ã³ã¹ããŒã«ã§ããŸãã
- elinstall.el ïŒããŸãæ確ã§ã¯ãªãããã¥ã¡ã³ãã
- epackage ïŒåæ£Emacs Lispããã±ãŒãžã·ã¹ãã ïŒDELPSïŒã«ãªãã¯ãã§ããããã±ãŒãžã®ä¿åãšé åžã¯gitã«ãã£ãŠäœ¿çšãããŸãã ã¢ã€ãã¢ã¯æªããªããããããŸããããæ°ååã®ãã±ããã®ããã«ãããªãŒå šäœããã£ã¹ã¯äžã«ä¿æããããã«ç§ã¯åŸ®ç¬ãã§ã¯ããŸããã ãããŠãäžè¬çã«ãéçºã¯äœããã®åœ¢ã§åæ»ããŠããŸãã
- epkg.el ïŒãŸã ã¢ããããŒããããŠããªã6ãæã®éçºæéã®gitã䜿çšããŠããŸãã
- install.el ïŒãµããŒããããªããªã£ãããã§ããèäœæš©2006幎ã®ææ°ã®æ¥ä»ã§ãã
- install-elisp.el ïŒ auto-installã®å身ã¯ãµããŒããããªããªããŸãã
- jem-pkg.el ïŒèå³æ·±ãæ©èœã®ãã¡ããã·ã³ããšã«ç°ãªãæ§æããµããŒãããŠããŸããããã¹ãŠã®ã³ã³ãã¥ãŒã¿ãŒã§åãããã±ãŒãžãšèšå®ããµããŒãããå¿ èŠãããã ãã§ãã ãŸããããã±ãŒãžã®å ¥æå ãæ確ã§ã¯ãããŸããã
- pases.el ïŒããã±ãŒãžã¯Makefileã®åœ¢åŒã§äœæãããããããåéããå¿ èŠãããïŒæåã§ïŒïŒãpasesã¯emacsã«ã€ã³ã¹ããŒã«ããŸãã ãŸããéåžžã«å°æ°ã®ããã±ãŒãžããããäžè¬çã«ãåŠçè«æã®ããã«èŠããŸãã
- pelm ïŒPHP Emacs Lisp Managerãçã®emacs'ovoduãåéãããŸããã
- plugin.elãšuse-package.elã¯æããã«ãµããŒããããŠããŸããã
çµè«ã®ä»£ããã«ãçŸæç¹ã§ã¯äžèšã®el-get + elpaæã䜿çšããŠããããšã«æ³šæããŠãã ããã æéã衚瀺ãããããèªåã€ã³ã¹ããŒã«ã§éãã§ãããã«ã€ããŠhabrasocietyã«äŒãããšæããŸãã