emacs
å¦æ ¡ããåå¼·ä¼ããã»ããã¼ããæ¬ããã§ã ããããå¦ã¶æ©ä¼ãããã¨æãã¾ãã ããã©ãå¤ãã®äººãã¡ã¯ã¨ãã 大äºãªãã¨ããã£ã¦ãã¾ããã ãã㯠ã復ç¿ã ã§ãã å°ä¸å¦æ ¡æ代ãæãåºãã¦ããã ãããããã㨠æãã¾ãããå¦æ ¡ãã帰ã£ã¦å®¶ã§åå¼·ãâ¦
å¹çã°ããæ±ããããç¾ä»£äººã ãã¯ãä»äºã¯å¹ççã«è¡ããããã®ã§ãããã ã¦ãã±ãã¨çæéã§ä»äºãçµãããã¦ã ãã£ãã¨å¸°å® ãããéãã ããããã§ãããã ããã°ã©ãã³ã°ããã¦ãã人éã¯ãªããã å¹çåãããããã¾ãããã Emacsã®è¨å®ãæ¸ãã®ãâ¦
ããªãã¯ãæ°ãããã¨ã«ææ¦ãããã§ããï¼ Emacsã®æ°ããªæä½æ¹æ³ãè¦ãã æ°ããªããã°ã©ãã³ã°è¨èªãè¦ãã ãã¤ã¨ãã éå ⦠ããããããã¾ããã ãã¹ã¦ãã¾ããã£ã¦ããã§ããããï¼ ãã®åãã«Yesã¨çãããã人㯠ã»ã¨ãã©ããªãã¨æãã¾ãã æ°ãâ¦
Pry = IRB.succ ä»åã¯ä¹ ã ã«Rubyï¼Emacsãªã話ã§ããããªãã¯Rubyããã°ã©ãã³ã°ã§è©¦è¡é¯èª¤ããã¨ãã« ã©ããããã¼ã«ã使ã£ã¦ãã¾ããï¼irbï¼ xmp(rcodetools)ï¼irbã¯Rubyãã¤ã³ã¹ãã¼ã«ããã¨ãã« æããã¤ãã¦ãã対話çRubyã§ããã·ã§ã«ã®ã¤ã³ã¿ã¼ãã§â¦
yasnippetã¯ä¾¿å©ã ãã©â¦ yasnippetã¯ç¥èªãå±éã㦠å®åæå ¥åãæ¯æ´ããelispã§ããyasnippetã¯éçºãã¦ããä½å¹´ããã¡ã ãã§ã«ããããã®ã¹ãããããã¤ãã¦ãã¾ãããããããã¹ããããã®å±±ããã¾ãï¼¹ï½ï½ï½ï¼ããã ãã¹ãããããããã°ãããã 便å©â¦
ãã©ããã¬ãã£ã¯ã¹ãã¼ Emacsã«ã¯ãã¬ãã£ã¯ã¹ãã¼ã¨ããæ¦å¿µãããã¾ããããã®ãããã§1ã¹ããã¼ã¯ã§ã¯ããã¾ãããããªãã»ã©ã® æ°ã®ã³ãã³ãããã¼ã«å²ãå½ã¦ããã¨ãã§ãã¾ããããã¯ãããã¨ãªãã§ããããã¬ãã£ã¯ã¹ãã¼ ä»ãã®ã³ãã³ããä½åº¦ãå®è¡â¦
ãä¹ ãã¶ãã§ããæ°ä»ãã°1年以ä¸ããã°ãæ¾ç½®ãã¦ãã¾ãããããªãã¨ãçãã¦ãã¾ãããã®åº¦ãæè¡è©è«ç¤¾ã®Software Designèª5æå·ããEmacså ¥éã®é£è¼ããããã¦ããã ããã¨ã«ãªãã¾ããã ããããEmacsãå§ãããã¨ãã¦ãã人ã§ãEmacsã®é åãååã«å³â¦
ãä¹ ãã¶ãã§ããã¿ãªãããM-x allã£ã¦ç¥ã£ã¦ã¾ããï¼M-x package-install allã§ã¤ã³ã¹ãã¼ã«ã§ããã®ã§ãããããã¯M-x occurã®ããã«æ£è¦è¡¨ç¾ã«ãããããè¡ã表示ãã¾ããoccurã¨ã®éãã¯è¡¨ç¤ºçµæãæ¸ãæããã°ã該å½é¨åãèªåçã«æ¸ãå¤ãããã¨ã§ãâ¦
ãä¹ ãã¶ãã§ããä¸ã®ä¸ã¯ãã£ããEmacs24ã«ãªã£ã¦ããããã§ãããæ¬æ¥ãel-expectations.elã®å¾ç¶ã¨ãªãert-expectations.elããªãªã¼ã¹ããã®ã§ãç¥ãããã¾ããel-expectations.elã¯ç¾å½¹ã§ä½¿ã£ã¦ããã®ã§ããããã¹ãã失æããã¨ãã®ã¬ãã¼ãæ©è½ãå¼±ãâ¦
Emacs24ãããããã®lexical-bindingãã¦ã«ããããï¼ã10å¹´ã«ããã£ã¦éçºãã¦ããlexical-bindingãã¤ãã«Emacs24ã«åãè¾¼ã¾ãã¾ãããããã¯Emacsçã®å¤§å¤§å¤§ãã¥ã¼ã¹ã§ãï¼lexical-bindingãæå¹ã«ãªãã¨ãletãlexical-letã«åãã¾ããlexical-bindingã¯â¦
æãã¾ãã¦ãããã§ã¨ããããã¾ããä»å¹´ããããããé¡ããã¾ããæ¨å¹´çºè¡ããEmacs Lispãã¯ããã¯ãã¤ãã«ã¯å¥½è©ã§ãã絶è³ã®å£°ãããããããã ãã¾ãããæ¬å½ã«ãããã¨ããããã¾ããä¸å ¨ãæãã¦ããã®ã§ãããæ®å¿µ ãªãã誤æ¤ãã¿ã¤ãã£ã¦ãã¾ãã¾ãâ¦
ãã²ããã¶ãã§ããæ¥ã«å·ãè¾¼ãã§ãã¾ããããé¢¨éª ãªã©ã«ã¯æ°ãã¤ãã¦ãã ããããä»æ¥ã¯ãå®è©±ãéãã¦æã æè¡è ã«ã¨ã£ã¦ã価å¤ã æä¾ãããã¨ã¯ã©ããããã¨ãã«ã¤ãã¦æ¸ãã¾ããã©ããã¦ãè¦è½ãã¦ãã¾ããã¡ãªè¦ç¹ ãªã®ã§ããã£ããèªãã§ãã ãããâ¦
ãã®è¨äºã¯ Emacs Advent Calendar jp: 2011 ã®11æ¥ç®ã§ãï¼æ¨æ¥ã¯ta2_o2p ãããææ¥ã¯ id:handlename ããã§ããå»å¹´ãä¸æ¨å¹´ã¨ã¤ã³ã¹ãã¼ã©ç³»ãé£ç¶ãã¦ç´¹ä»ãã¦ãã¾ãããã ä»å¹´ã¯ãã£ã¦ããã£ã¦èº«è¿ãªä¾ãåãä¸ãããã¨æãã¾ããåã¯æè¿ãWindows Xâ¦
ãå¾ ãããã¾ããã 2大ããã¸ã§ã¯ããã®2ãçºè¡¨ãã¾ãã ããã¯ãã¾ãã¾ãã§ã¡ã«ãã¬ãçºè¡ãããã¨ã§ãï¼ é¡åã¯ãEmacsã®é¬¼ãã³ãã¡ã®ã³ã³ã ãã®è©±ãã§ãã åã¯ããã¾ã§ããã°ãæ¸ç±ã¨ãã å½¢ã§æ å ±æä¾ããã¦ãã¾ããã åã®èæ¸ãè²·ã£ã¦ãã ãã£ãçæ§â¦
ãä¹ ãã¶ãã§ãããã®åº¦ãæ°èã® ãEmacs Lispãã¯ããã¯ãã¤ãã« ãçé«ãç¥ãLispã®æãã ãå·çãã¾ããããã®æ¬ã¯ããã§ã«Emacsã使ã£ã¦ãã人ãã Emacsãæ足ã®å¦ãæ±ããã¨ãç®çã«ãã¦ãã¾ããåèãEmacsãã¯ããã¯ãã¤ãã« ãä½æ¥å¹çãã«ã¤ã¼ã³â¦
ããã§ã¯ãå¾ ã¡ããããããããã¯ã«Emacsãã¤ã³ã¹ãã¼ã«ãã話ã§ãããã®æé éãã«ãããã¨ã§ãããªãã®ãããããã¯ã¯ ç«æ´¾ãªEmacså°ç¨æ©ã«å¤§å¤èº«ãã¾ããå¤ããããã¢ãã¤ã«ã®ã¢ããªãã¶ã¦ã«ãã£ã¦Unixç°å¢ã æã¡æ©ããããã®ä¸ã§Emacsã²ããããçæ´»ãâ¦
ãä¹ ãã¶ãã§ããåå¹´ã¶ãã®ããã°è¨äºã§ããåå¹´éãåã¯ãããããªäºãå¦ã³ãããªãæé·ãã¾ããã®ã§ã ã¿ãªããã«ããªãããæ å ±ãæä¾ãããã¨ãã§ããããã«ãªãã¾ããããã®éã¯ãªãã©ã¤ã³ã§ããæéãå§åçã«é·ãã£ãã§ããåã¯ã©ããã家ã§ã¯éä¸ã§â¦
savekill.elããªãªã¼ã¹ãã¾ããã åæ©æè¿ããªãããããããã¾ããããEmacsãçªç¶æ»ãããã¨ããã¾ãããï¼ ãã¾ã使ãããã§ãªã人ã¯ãã¾ãçµé¨ããªãããããã¾ããããããã¼ã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ã¯æ¥å¸¸è¶é£¯äºã§ãã ä¸å®å®ããã¦è½ã¡ã¾ããã»ã©ã§ã¯ãªãã§â¦
ä¹ ã ã®Emacsãã¿ãæ´å²ã¯ç¹°ãè¿ããã®ã§ãã ä»ã¯ãã©ã¦ã¶ã§ãªãã§ãã§ãã¦ãã¾ãæ代ããã¤ã¦ã®Emacsã彷彿ã¨ããã¾ãã ã ãããã©ã¦ã¶ãEmacsã«æ±ºå®çã«å£ã£ã¦ããã®ã¯ããéãã足ããªãããã¨ã ã¨æã£ã¦ã¾ãããã¬ã¼ã ããã©ãã·ã¥ãªã©ãã¦ã¹åæã®IFãªâ¦
sudo-ext.el - maeshimaã®æ¥è¨ å¾®å¦ã«æåããããããåºã¾ã£ãããçµæããããã¡ã«åºã¦ããªãã£ãããç·¨éç¨ã®ãããã¡ãéããªãã£ããããããªãã§ã ããï¼ã·ã§ã«ãã sudo -v sudoedit /etc/passwdãå®è¡ãã¦æ£ããå®è¡ããã¾ããï¼ sudo -vã¯ãã¹ã¯ã¼â¦
æãã¾ãã¦ãããã§ã¨ããããã¾ããæ¢ã«å¾¡åç¥ã®æ¹ãããã¨æãã¾ãããä»å¹´ã¯Emacs Lispã®æ¬ãå·çãã¾ãã æ¢å ãEmacsãã¯ããã¯ãã¤ãã« ãä½æ¥å¹çãã«ã¤ã¼ã³ãã200ã®æãã ã¯æ¢åã®Emacs Lispãããããã¨ç´¹ä»ããã«ã¿ãã°çãªæ¬ã§ããã ä»åã¯Emâ¦
åæ©æéã®ãããå¦çããã¦ããã¨ããã¤ã¾ã§å¾ ããããã®ãããããªããªãã¾ãã ãã®ã¨ããé²æç¶æ³ã表示ãã¦ãããã¨å®å¿ã§ããããã¥ã¢ã«ãã Progress - GNU Emacs Lisp Reference Manual使ãæ¹åç´ãªæ°å¤ã«ã¼ã: (dotimes (å¤æ° åæ°) å¦çã)決ã¾ã£â¦
Emacs Advent Calendar jp: 2010 ã®9æ¥ç®ã®è¨äºã§ãã å»å¹´ã®auto-install.el ã«å¼ãç¶ããä»å¹´ãã¤ã³ã¹ãã¼ã©ã®ç´¹ä»ã§ããæ¨æ¥ã¯ id:yaotti ãã(anythingé¢æ°ã好ããªè¨èªã§å®è£ ã§ããanything-with-everything.el (Emacs Advent Calendar 2010 8æ¥ç®) - yâ¦
åæ©yasnippetã®å±éæ©è½ã¯ãªããªãå¼·åã§ãããã次ã®ããã³ãã¬ã¼ãå±éã®æºåãæ¡ä»¶åå²ãã§ããªãå¼±ç¹ãããã¾ããé£ç¶å±éã®ä¾ã¯ãããã°ã©ãã³ã°ã«ããããã¡ã¤ã³ç¹åè¨èªãè¨è¿°ããå ´åã§ãã ãã®å ´åã¯ããã¿ã¼ã³ã決ã¾ã£ã¦ããã®ã§ã次ã®ãã³ãã¬â¦
ã¡ã¼ã«ã¯æéå¸è¡é¬¼ããªãã¯ãä¸æ¥ã«ã©ããããã®æéãã¡ã¼ã«ã«è²»ããã¦ãã¾ããï¼ å°ãã§ãæãã§ããã¨ãã¤ãã¤ãã¡ã¼ã«ãè¦ã¦ããããã¾ãããï¼ã¡ã¼ã«ãã§ãã¯1åã«ã¤ã1åã ã¨ãã¦ã10åããã§ãã¯ãã¦ãããã10åæ¶è²»ãã¾ãã 対ãã¦ãä¸æ¥1åã«ãã¦â¦
ããã°ãæ¯æ¥æ´æ°ããã¨æ±ºãã¦ãããã®ã®ã1ã¶æã§é絶ãã¦ãã¾ãã¾ããã ããããªããã æ¯æ¥æ¸ãã®ã¯ãããã«ãã¤ãã§ãã ã¾ã æç« ãæ¸ãã®ã«æéããããã®ã§ãããã°ã«æéãã¨ããã¦ãã¾ãã¾ããã ããããã¯ãæ°æ¥ãããããã«ãªãã¨æãã¾ãããã¦â¦
Emacsã«ã¦ãã°ãã¼ãã«ãªãã¼ããã(global-map)ãå¤æ´ãã¦ãããã¹ã¦ã®ãããã¡ã§æå¹ã«ã¯ãªãã¾ããã ãªããªããã¡ã¸ã£ã¼ã¢ã¼ãããã¤ãã¼ã¢ã¼ãã§ã®ããããglobal-mapããåªå ããããã§ãã ããããã¡ã¸ã£ã¼ã¢ã¼ãã®ç¹å®ã®ãã¼å²ãå½ã¦ãæ°ã«å ¥ãããâ¦
.emacs ã§è¨å®ãã¹ã£ã¦ç´ ã® emacs ãç«ã¡ä¸ãã£ãã¨ãã®ç¡åæã¯ç°å¸¸ ã¨ããã®ã¯æ¿ããåæã§ãã åã®å ´åãå°ãéã£ãã¢ããã¼ããã¨ã£ã¦ãã¾ããããã¯ãEmacsã®ãããã¢ã¼ã㧠~/.emacs ãèªã¿è¾¼ã¾ããã¨ã©ã¼ãã§ãªãããã§ãã¯ãããã¨ã§ãã ãã®ããâ¦
anything.el 㧠(processp candidates)ã®ã¨ãmultilineã«ãªããªãï¼ - *iroi*id:mechairoiããanything.elã®ããããããã ãã¾ããã åãè¾¼ã¿ã¾ãããanything.elã®åè£é¢æ°ã¯ããªã¹ã以å¤ã«ãããã»ã¹ãæã¤ãã¨ãã§ãã¾ãã å ¥åãã¿ã¼ã³ãå¤é¨ã³ãã³ãâ¦
ãã¼ãã¼ãç°å¢ãå¿«é©ã«ããã«ã¯ä½æ¥å¹çãé«ããã«ã¯ããã¼ãã¼ãç°å¢ãæ´ãããã¨ãéè¦ã§ãã ãã©ã¤ã³ãã¿ããããã人ã«ã¨ã£ã¦ã¯ããã¼ã ãã¸ã·ã§ã³ãããã¾ãæãé¢ããªãã§æä½ã§ãããã¨ãå¢ããã°å¿«é©ã«ãªãã¾ãã ãã¼ãã¼ãæä½ã好ããªäººã¯ãæ¬â¦