ããªãã®ã«ãŒããå¿ããªãã§ãã ãããèŠããŠãããŠããã£ãšé«ããã®ããããŸã...
ã«ãŒã¹ãã¯ãã¡ãã©ã€ãã¹ããŒãªãŒ
å€ãã®ã³ã³ãã¥ãŒã¿ãŒç掻ã¯ã²ãŒã ã§å§ãŸããŸããã äžéšã®å€§çµ±é ã®ããã«ãæšã®æ¿ã§ãã§ã¹ãããªãã£ã人ãã¡ã ç§ã¯ãã§ã¹ãããŸãããã¹ã¿ãŒã¯ã©ãããä»ã®åæ§ã®ã²ãŒã ãããŸãã ç§ã¯äœæéããã¬ã€ããŠããŸããããæéãçµã€ãšã²ãŒã ã¯æ·±å»ãªã¯ã©ã¹ã«ãªããäœããã®çµæããããããŸããã åæã«ãã²ãŒã ãçãŸãå€ãã£ããšããŠããç¿æ
£ã¯å€ããŸãŸã§ããã æã
éã³ããã§ãã
ãã§ã¹ã«ãªããã®ã¯äœã§ããïŒ ãã§ã¹ã§ã¯ãæããã¯ãã«ãªå Žæã«ã©ã€ãããããŒã«ãããŒã ãå°é·åãªã©ã¯ãªããç·šéããããšã«ãã£ãŠããã°ã©ã ãåã³ã³ãã€ã«ããŠããéãæã«ã¯äžè¶³ããŠããããšããããŸãã ãã¹ã¿ã«ãžã¢ã¯åºæ¿çã§ããããœãããŠã§ã¢ç°å¢ã§ãã®ãããªãã®ãæ¢ãå§ããŠããŸãã ãããŠèŠã€ããïŒ
仿¥ã¯æ¥œãããã¯ãã«ã€ããŠã話ããŸãã
Emacsã«ã¯2çš®é¡ã®ãã¯ãããããŸã-éå±ãªãã®ãšé¢çœããã®ã§ãã éå±ãªãã®ã¯Lispã®ãã¯ãã§ãããé¢çœããã®ã¯å€ãã®äººã«ãªãã¿ã®ããããŒããŒããã¯ãã§ãã ããã¯2çªç®ã«ã€ããŠã§ããã説æããŸãã
ã·ãŒãã£ã³ã°-ãã¿ã³ããã¹ã¿ãŒãã
åããŠã²ãŒã ãéå§ãããšãããªãã®åã«ãç«ã£ãŠäœãããªã1人ã®ãã«ããŒã衚瀺ãããŸãã è¿æãé§ãå·¡ããšãäœããæ§ç¯ãå§ãããšåæã«ã建ç©ãè¡åã®ååã«ãã€ã©ã€ããããæåã衚瀺ãããŸãã ãããã®æåã¯ãã¢ã¯ã·ã§ã³ããã°ããå®è¡ã§ããã¢ã¯ã»ã¹ããŒã§ãã å°æ¥ãã²ãŒã ã¯ãããã®æåãé©åãªã¿ã€ãã³ã°ã§é£ç¶ããŠæŒãããšã«ãªããŸãããã¯ããšã¯äœã§ããïŒ
ããã¯ãããšåŒã°ããããã°ã©ã ã«ãã®ãããªããšãããããšã¯èª°ããç¥ã£ãŠããŸãããŸãããã®ååã®æ ¹æºã«ããEmacsã«ããã®æŠå¿µïŒãšãã£ã¿ãŒMACroSïŒãå«ãŸããŠããã®ã§ãEmacsã䜿çšãããšãã«ãã®æŠå¿µãç¥ããªãã®ã¯æ¥ãã¹ãããšã§ãã åæã«ãF3ãF4以å€ã®ãã¯ãã誰ããç¥ã£ãŠããããã§ã¯ãããŸãããä»ã®ããã°ã©ã ã®ãã¯ããšã¯ãå®éã«ã¯ãŸã åææ®µéã«ãããã®ã§ãã
Emacsã®ãã¯ããšã¯äœã§ããïŒ
äžè¬çã«èšãã°ãEmacsã®ãã¯ãã¯ãä»ã®ããã°ã©ã ãšã¯ç°ãªããããŒããŒãã§ããèšé²ãããŸããã æ®ãã¯ãæå€§éã«äœ¿çšã§ãã匷åãªããã€ã¹ã§ãããååãšããŠèª°ãã¢ã¯ã»ã¹ã§ããŸããã Emacsã®å€ãã®é©åãªèšå®ã®çã£midäžã«ããã€ã³ã¿ãŒãããäžã®1人ã®ç·ãããã¯ãã®çµã¿åããã«å¥ã®ã¢ã¯ã·ã§ã³ãæããããšãææ¡ããŸããã ã©ãããã圌ã¯Emacsã®ãã¯ãã¯ä»ã®ã©ãã§ãåãã ãšæã£ãŠããŠãèšé²ãšåçãšãã2ã€ã®ããŒããããŸãã
Emacsã§ã¯ãç¶æ³ã¯ãŸã£ããç°ãªããŸãã
ãŸãããã¯ããèšé²ãããšãããã¯ãã¯ãã¯ããªã³ã°ã«åé¡ãããŸãããã¯ããªã³ã°ã«ã¯å€ãã®æäœãå®çŸ©ãããŠããŸãã ã€ãŸããããã«ãããã¯ãã¯ãããã®èšæ¶ã®ããã«èšé²ãããã ãã§ãªãããªã³ã°ãååŸã«æ©ããŠéžæããããšãã§ããŸãã ãããŠãããªãã¯ãªã³ã°ãæ©ãåãã ãã§ãªããåãã¯ãã«å
¥ããããã倿Žããããšãã§ããŸãã
第äºã«ããã®ãªã³ã°èªäœã¯åçŽã§ã¯ãããŸããã ãã®ãããªã³ã³ãããŒã«ããŒã¯ãé£ç¶æäœçšã«èšèšãããŠããããªã³ã°ã«ã¢ã¯ã»ã¹ããããã®æåã®ããŒã®çµã¿åãããEmacsã«ãã£ãŠèšæ¶ãããŠãããããæ¯åæŒãå¿
èŠã¯ãããŸããã
Ctrl + x + Ctrl + kãæŒããšãããŒããŒãã®åå空éãå
¥åããŸãã ãã®åŸãCtrlããŒãæŒããªããããªã³ã°ãšçŸåšã®ãã¯ãã§ã®ã¢ã¯ã·ã§ã³ãæ
åœããå€ãã®ããŒãæŒãããšãã§ããŸãã
äŸãèããŠã¿ãŸãããïŒ
1ïŒ2ã€ã®ãã¯ããäœæããŸãã æåã®ãã¯ãã¯çªå·1ãæ¿å
¥ãã2çªç®ã®ãã¯ãã¯çªå·2ãæ¿å
¥ããŸãã
F3 1 F4
F3 2 F4
以äžã§ã¯ãF3ãæŒããã³ã«èšé²ãéå§ãããF4ãæŒããã³ã«ãã¯ããèšé²ãããŠããããšãããããŸãã ãããã®ã¢ã¯ã·ã§ã³ã®åŸããããã¡ã«12ã衚瀺ããã2ã€ã®ãã¯ããããç®ã«èŠããªããªã³ã°ããããŸãã 2çªç®ã®ãã¯ããéžæãããŠããŸãïŒãŸãã¯ã¢ã¯ãã£ãã§ãïŒã
2ïŒéžæãããã¯ããå®è¡ããŸãã å€ãã®äººãF4ãæŒããããšæã£ãŠããŸããããã¯éåžžã«ç°¡åã ããã§ãã ãã¯ããè¿
éã«å®è¡ããæ¹æ³ã§ã¯ãªãããªã³ã°ã䜿çšããŠããŸãã
ãã³ã°ã©ã³ãããã·ã¥
Ctrl + x + Ctrl + k + Ctrl + k
CtrlããŒãé¢ããã«ããã¿ã³ãæŒãç¶ããªãããæ°åã®2ãæ¿å
¥ãããããšã確èªããŸãã
Ctrl + p + Ctrl + k
ãããŠãæåã«ãpã®åŸã«äœããïŒãããããã¡ãŒã«ïŒæžã蟌ãŸããŠããããšã確èªãïŒæ°å1ïŒãkã®åŸã«æ°å1ãæ¿å
¥ãããæ¹æ³ã確èªããŸãã
Ctrl + n + Ctrl + k
ãããŠãæåã«ãnã®åŸãçŸåšã®ãã¯ãã«é¢ããæ
å ±ãåãæ¹æ³ïŒçªå·2ïŒã§æžã蟌ãŸããkã®åŸã«çªå·2ãæ¿å
¥ãããæ¹æ³ã衚瀺ãããŸãã
3ïŒãã¹ãŠã®ãã¿ã³ãæŸããŸãã 12212ã¯ç»é¢ã«æ®ããæåã®2æ¡ã¯ãã¯ãã®èšé²ã«é¢äžããæ®ãã®3æ¡ã¯ãã¯ãã®çµæã§ãã
ã©ãããã®ïŒ 2ã€ã®åçŽãªãã¯ããèšé²ãããã¬ãã£ãã¯ã¹ã®çµã¿åããCtrl + x + Ctrl + kãæŒããŠããŒããŒãã®åå空éã«å
¥ããŸããã ãã®åå空éã§åäœããŠãæåã«2çªç®ã®ãã¯ããå®è¡ãã2çªç®ã®ãã¯ãããæåã®ãã¯ãã«åãæ¿ããŠæåã®ãã¯ããå®è¡ããæåã®ãã¯ããã2çªç®ã®ãã¯ãã«åãæ¿ããŠ2çªç®ã®ãã¯ããå床å®è¡ããŸããã
ãã¹ãŠãæ£ããè¡ã£ãå Žåãã¹ããŒã¹ãå
¥åããåŸã®å·Šã®CtrlããŒã¯äžåºŠãè§£æŸããããåæã«å³æã§kpkn kããŒã®ã¿ãæŒãããŸããã
ããã¯ãã¯ãã®å®è¡ã«ãããéãã§ãããã¯ãã1ã€ãããªãå Žåã¯ãF4ãä»ããŠå®è¡ããæ¹ã䟿å©ã§ãã ãªã³ã°ã«è€æ°ã®ãã¯ããããããããã亀äºã«å®è¡ããå¿
èŠãããå Žåã¯ãé·æå®è¡ã䜿çšããŸãã
ãã®æèŒªã§ä»ã«äœãã§ããŸããïŒ
ãªã³ã°èªäœãå転ãããŠçŸåšã®èŠçŽ ã倿Žã§ããããããªã³ã°ã®éå§ãŸãã¯çµäºãåºå®ãããŠããŸããã åç¬éã«ãããŠããªã³ã°ã®æåŸã®èŠçŽ ã¯çŸåšã®èŠçŽ ã§ãããæåã®èŠçŽ ã¯ããã«ç¶ãèŠçŽ ã§ãã æ°ãããã¯ããèšé²ããããšãçŸåšã®èŠçŽ ã®åŸã«ãªã³ã°ã«è¿œå ããããªã³ã°ã®æåŸã®èŠçŽ ã«ãªããŸãã ãããã£ãŠããªã³ã°å
ã§ç®çã®ãã¯ãé åºã圢æã§ããŸãã
ãªã³ã°ã䜿çšããæäœïŒ
nã«é²ã¿ã
pã«æ»ãã
kãå®è¡ããã
dãåé€ããã
eãã¯ããç·šéããïŒã®ã»ãšãã©ã¯ãŸã£ããåãããã«æ©èœãããã¿ã³ã1ã€æŒãã ãã§ããªã³ã°ããã°ãã䟿å©ã«äœ¿çšã§ããŸãã ããããçè«çã«ã¯åãããã«åäœããã¯ãã§ãããåäœããªãæäœããããŸãã ããããããããã¯ãã®ãšã³ã·ã¹ãã ã«æ°ä»ããªãã£ãå¥ã®èè
ã«ãã£ãŠåŸã§è¿œå ãããã®ã§ãããã
äžéšãŸãã¯ãã¹ãŠã®èŠçŽ ãåé€ããŠãªã³ã°ããããã«ããã«ã¯ããæŒããŸã
Ctrl + x + Ctrl + k + Ctrl + d
ãããŠãCtrlãæŒããªããdd dãæŒããŸãã
ãã¯ãã®é åºã¯æ¬¡ã®æ¹æ³ã§å€æŽã§ããŸã
Ctrl + x + Ctrl + k + Ctrl + t
ããã¯ã倱æãããã¯ããããªã³ã°ãåé€ãããšãã«å¿
èŠã«ãªãå ŽåããããŸãã
ãããŠããã¯ãèŠçŽ ã®é€å»ãç°¡ç¥åãããåœ¢ã§æ©èœããèŠçŽ ã®äº€æãå®å
šã«è¡ãããå Žåã«ã®ã¿åœãŠã¯ãŸããŸãã ãã®ãããã»ãšãã©ã®å Žåãå®å
šã«å
¥åããå¿
èŠãããã¢ã¯ã·ã§ã³ãç¥ãå¿
èŠããããŸãã ååãšããŠããã®ãããªäžå¿«ãªã¢ã¯ã·ã§ã³ã¯ãã¡ã€ã³ã¢ã¯ã·ã§ã³ãããé »ç¹ã«äœ¿çšãããªãããã«çžäºã«çµåããŸãã
ãªã³ã°ã®é·ãå¶éã¯8ãã¯ãã§ãããEmacsã®èšå®ã§ã¯ããã¡ããç°¡åã«å¢ããããšãã§ããŸãïŒããšãã°ã32ãå
¥ããŸãïŒã ããã¯å€ããå°ãªãã-æåã§èšé²ãããåã
ã®ãã¯ãã®å Žåã8ã§ååã®ããã«èŠãããããããŸããã ããããçå£ã«äœ¿çšããã«ã¯ã8ã§ã¯ååã§ã¯ãããŸããã
æåã®æŠéæ©ãäœã
ãã«ããŒã远ã£ãŠãæåã®å»ºç©ã建èšã®ããã«éãããšããæãåçŽãªæŠéæ©ãäœãããšãã§ããå
µèãèŠã€ããŸããã éåžžããããã¯2ã€ãããŸãã1ã€ã¯è¿æ¥æŠéçšããã1ã€ã¯é·è·é¢æŠéçšã§ãã ããããäœæããããšããããã®æŠéæ©ãšãã®è¡åã«ãã°ããã¢ã¯ã»ã¹ã§ããããã«ã匷調衚瀺ãããæåãåãããã«è¡šç€ºãããŸãããã¯ããäœæããã«ã¯ã©ãããã°ããã§ããïŒ
ãã¡ãããæåã¯F3 F4ã§èšé²ããŸãã æ¬¡ã«ãæ¢ã«èšé²ãããŠãããã¯ããç·šéããå¯äžã®æ¹æ³ãèŠã€ãããã¯ããšãã£ã¿ãŒãèŠã€ããŸãããã¹ãŠãF3 F4ã«æ»ããŸãã
å®éããªã³ã°ã«ã¯2ã€ã®ç¶æ
ããããŸãããªã³ã°ã«ã¯äœãååšããããªã³ã°ã«ã¯äœãããããŸãã ãããŠãããã2ã€ã®ç¶æ
ã«ã¯ãæ°ãããã¯ããäœæããæ¹æ³ããããŸãã
ãã¯ããªã³ã°ã«äœãååšããããã¯ããäœæããã ãã®å Žåã¯ã次ã®ã¡ãœãããé©çšã§ããŸãã
1ïŒãã¯ããšãã£ã¿ãŒãå®è¡ããŸããããã«ããããã¯ããäœæããããã«æ±ããããŸãã
Ctrl + x + Ctrl + k + Ctrl + ey
ãã®æ¹æ³ã§ã¯ããã¯ãã«äœããæžã蟌ãå¿
èŠãããã空ã®ãã¯ããäœæããããšã¯ã§ããŸããã
2ïŒF3 F4ã«ããã¯ãé©çšããŸãã
F3 + Ctrl + u + F4
Emacsã¯ãããããã¡ãŒã«ãšã©ãŒãæžã蟌ã¿ãŸããã絶察ã«ç©ºã®ãã¯ããäœæãããŸãã
Wrong type argument: integerp, (4)
3ïŒã³ãã³ããå®è¡ããŠãããã¹ããããã¯ããèªã¿åããŸãã
Ctrl + SPC + Ctrl + SPC + Alt + x + read-kbd-macro
å¯äœçšããããŸããããŒã«ãŒãé
眮ããã³åé€ãããããããŒã«ãŒãªã³ã°ãå€åããŸããããã¯ã©ããã§å¿
èŠã«ãªãå ŽåããããŸãã Ctrl + u + Ctrl + SPCã䜿çšãããšãéåžžãã®ãªã³ã°ã«æ²¿ã£ãŠæ©ãããšãã§ãããããäœåãªäœçœ®ã衚瀺ãããå ŽåããããŸãã
ãã¯ããªã³ã°ã«å°ãªããšã1ã€ã®ãã¯ããããããã¯ãã远å ããã ãã®å Žåãæ¬¡ã®æ¹æ³ãé©çšã§ããŸãã
1ïŒ1è¡ã®ãã¯ããšãã£ã¿ãŒã䜿çšããŠãã¯ããã³ããŒããŸãã
Ctrl + x + Ctrl + k + SPC + Ctrl + k
çŸåšã®ãã¯ãã®ãšãã£ã¿ãŒãéããŸãããCtrl + kã®ããããã¯ãã¯æ°ãããã¯ãã«ã³ããŒããããã¹ãŠã®å
容ãç Žæ£ãããŸãã
2ïŒF3 F4ã«ããã¯ãé©çšããŸãã
F3 + Ctrl + u + F4
ããã§ã®æ¹æ³ã¯ã空ã®ãªã³ã°ã®å Žåãšåãã§ãã
ãªã³ã°ã«ãã¯ããããå Žåãread-kbd-macroã³ãã³ãã¯æ°ãããã¯ããäœæãããéžæãããã¯ãã«æžã蟌ã¿ãŸãã ãããã£ãŠããã®æ¹æ³ã¯ãã®ã³ãã³ãã§ã¯æ©èœããŸããã éèŠãªãã®ãå«ãŸããŠããå¯èœæ§ãããéžæãããã¯ãã®ã¿ãäžæžãã§ããŸãã
ããã§ãå€ãã®äººãããªã空ã®ãã¯ããå¿
èŠãªã®ãããšå°ããããšããããŸãã å®éããã¯ãã¯å€§å°ããŸããŸã§ãè€éã§ã·ã³ãã«ã§ãã ãã¯ãã®èšé²ã¯ããšãã£ã¿ãŒãä»ããŠè¿
éã«èšé²ãããããã¯ããã«æéããããå ŽåããããŸãã ããã«ãå¿
ãããäžèŠæ£ãããã¯ãèšé²ãå®è¡ããããšã¯éããŸããã ç¹ã«åºæ¬çãªããããšãã£ã¿ãŒã䜿çšã§ããå¿
èŠããããŸãã
ãã¯ããç·šéããã«ã¯ã©ãããã°ããã§ããïŒ
次ã®å®éšã§ã¯ã2ã€ã®ãã¯ããäœæãã3çªç®ã®ãã¯ããå®å
šã«ç©ºã«ããå¿
èŠããããŸã
F3 123 F4
F3 456 F4
F3 Ctrl+u F4
ãªã³ã°ã«ã¯3ã€ã®ãã¯ãããããŸãã1ã€ã¯123ãæ¿å
¥ãããã1ã€ã¯456ãæ¿å
¥ãã3ã€ç®ã®ãã¯ãã¯ç©ºã§éžæãããŠããŸãã æåã®2ã€ã®ã³ã³ãã³ãã3çªç®ã®ãã¯ãã«æžã蟌ãå¿
èŠããããŸãã
æåã®ãã¯ãã«è¡ããŸã
Ctrl + x + Ctrl + k + Ctrl + n
ç·šéçšã«éããŸã
Ctrl + e
èŠã
;; Keyboard Macro Editor. Press Cc Cc to finish; press Cx k RET to cancel. ;; Original keys: 123 Command: last-kbd-macro Key: none Macro: 123 ;; self-insert-command * 3
äžèšã®è¡ã«ç§»åããŸã
;; Original keys: 123
ãããŠããããã¡ãŒ123ã«ã³ããŒããŸãã
次ã«ããããã¡ãéããŸã
Ctrl + x + k + <RET>
次ã«ã2çªç®ã®ãã¯ãã«ç§»åããŸã
Ctrl + x + Ctrl + k + Ctrl + n
ç·šéçšã«éããŸã
Ctrl + e
èŠã
;; Keyboard Macro Editor. Press Cc Cc to finish; press Cx k RET to cancel. ;; Original keys: 456 Command: last-kbd-macro Key: none Macro: 456 ;; self-insert-command * 3
äžèšã®è¡ã«ç§»åããŸã
;; Original keys: 456
ãããã¡456ã«ã³ããŒããŸãã
次ã«ããããã¡ãéããŸã
Ctrl + x + k + <RET>
次ã«ã3çªç®ã®ãã¯ãã«ç§»åããŸã
Ctrl + x + Ctrl + k + Ctrl + n
ç·šéçšã«éããŸã
Ctrl + e
èŠã
;; Keyboard Macro Editor. Press Cc Cc to finish; press Cx k RET to cancel. ;; Original keys: Command: last-kbd-macro Key: none Macro:
ãMacroïŒãã®è¡ã®åŸã«ãCtrl + yãAlt + yãCtrl + yãã³ããŒããè¡456ããã³123ã貌ãä»ããŸãã
;; Keyboard Macro Editor. Press Cc Cc to finish; press Cx k RET to cancel. ;; Original keys: Command: last-kbd-macro Key: none Macro: 123 456
次ã«ãCtrl + c + Ctrl + cã§ä¿åããŸãã
ãªã³ã°ã«ã¯3ã€ã®ãã¯ãããããŸãã1ã€ç®ã¯123ã2ã€ç®ã¯456ã3ã€ç®ã¯123456ã§ãã
åœç¶ãããããã¹ãŠã³ããŒããã«æåã§ïŒ123456ïŒæžãããšãã§ããŸããããããã®ãã¯ãã¯åçŽãããŸãã ããè€éãªå Žåãã·ãŒã±ã³ã¹ãããã«èšé²ããã®ã¯ããã»ã©ç°¡åã§ã¯ãªããF3ãä»ããŠå€§ããªãã¯ããèšé²ãããšãšã©ãŒãçºçããŸãã ãããã£ãŠãå°ããªãã¯ãã¯æ¬¡ã
ãšæžã蟌ãŸãããšãã£ã¿ãŒã®äžçªäžã«ã¯åžžã«å®å
šãªã¬ã³ãŒãããããç°¡åã«ã³ããŒã§ããŸãã
ãã䜿çšããã2çªç®ã®æ¹æ³ã¯ãread-kbd-macroã䜿çšããæ¹æ³ã§ãã ããã¹ããéžæããŠãread-kbd-macroãå®è¡ããã ãã§ãã æ¬¡ã«ãã©ã®ãã¯ãïŒãã«ãŸãã¯ç©ºïŒã䜿çšããŠããŠãããã®ããã¹ãã§æžãæããããŸãã ã¹ããŒã¹ãšæ¹è¡ãæ¶ããããšãå¿ããªãã§ãã ããã
ãšãã£ã¿ãŒå
ã®ã¹ããŒã¹ã¯SPC SPC SPCã®åœ¢åŒã§èšè¿°ãããŠããããããšãã£ã¿ãŒãä»ããã³ããŒã§ã¯è¿œå ã®ã¢ã¯ã·ã§ã³ã¯å¿
èŠãããŸããã
ãã¯ãã«ã¯äœããããŸããïŒ
ãã¯ãã®æ§æ-3ã€ã®ããšïŒã¯ãªãã¯ã®ã·ãŒã±ã³ã¹ãã«ãŠã³ã¿ãŒããã©ãŒããããããè¡ã«ãŠã³ã¿ãŒã ããªãããã°ãã°æ°ã¥ãããšãã§ãã2ã€ã®ä»ã®ãã®ããããŸã-ãã¯ãã®ååãšãã®ããŒããŒãã®çµã¿åããã æåã®3ã€ã®èŠçŽ ãåãã¯ãã«ããå Žåãæ®ãã®2ã€ã¯å€éšã§ããã远å ã®ã³ãŒããä»ããŠå¿
èŠã«å¿ããŠãã¯ãã«æ·»ä»ãããŸãã ãããã£ãŠããã¯ãã«é¢é£ä»ããããšãããã¯ãããè§£æŸããããšãã§ããŸãã
ãã¯ãå
ã®ã«ãŠã³ã¿èªäœã¯ããã¯ããåŒã³åºããããšãã«ã©ã®ããã«å€åããããããã«ã¯ããããªããããæ··ä¹±ãæãå¯èœæ§ããããŸãã çãã¯ç°¡åã§ããããã¯æ±ºããŠå€åããŸããã ãã®ã«ãŠã³ã¿ãŒã¯åã«ãã¯ãã«ä¿åãããå®å
šã«ç¬ç«ããŠåäœããŸãã ãã©ãŒãããæååã¯ã«ãŠã³ã¿ã®ã¿ãåç
§ãããã®åºåãæ±ºå®ããŸãã
ãã¯ãå
ç·ãããã䜿çšããããã®ããããç¶ç¶èŠæ±ãã®ã¿ãå²ãåœãŠãããšãã§ããŸãã ãã®æ¬è³ªã¯æ¬¡ã®ããã«èŠçŽãããŸããæäœäžããã¯ãã¯ãç¹å¥ãªå±æ§ã«ãã£ãŠããã®ã·ãŒã±ã³ã¹ã§ã忢ãããããªãã¢ã¯ã·ã§ã³ã«ã€ããŠãŠãŒã¶ãŒã«å°ããå¿
èŠããããšå€æããŸãã ãªããããå¿
èŠãªã®ã§ããïŒ ãã¯ãå®è¡ã³ãã³ãã«ã¯ãç¹°ãè¿ãåæ°ãèšå®ããåŒæ°ããããŸãã åŒæ°ã䜿çšããŠãã¯ããèªåçã«ç¹°ãè¿ããã¯ãã䜿çšããŠæªç¥ã®ããŒã¿ãåŠçããå Žåããã¯ãã¯ãã®å®è¡äžã«ã¹ãããããå¿
èŠã®ãããã©ã°ã¡ã³ããèŠã€ããããšãã§ãããããéžæçã«åŠçããå¿
èŠããããŸãã
ãã®ãç¶ç¶èŠæ±ããªãã§ãã¯ããèšé²ããå Žåã§ãããã€ã§ããã¯ããšãã£ã¿ãŒãã远å ã§ããŸãã 远å ããŠãäžèŠã«ãªã£ãå Žåã¯ããšãã£ã¿ãŒã䜿çšããŠåãããã«ãã°ããåé€ã§ããŸãã
ãããŠåœŒã¯ãããªæã
Cx q
ãã¯ã123ãçŽæ¥éãããã®ãããªè¡ãæ°åã®éã«æ¿å
¥ããŠããå®è¡ããŠãç¶è¡ãããªã¯ãšã¹ãã確èªã§ããŸãã
;; Keyboard Macro Editor. Press Cc Cc to finish; press Cx k RET to cancel. ;; Original keys: 1 Cx q 2 Cx q 3 Command: last-kbd-macro Key: none Macro: 1 ;; self-insert-command Cx q ;; kbd-macro-query 2 ;; self-insert-command Cx q ;; kbd-macro-query 3 ;; self-insert-command
åŒæ°ãæå®ããŠãã¯ããå®è¡ãããš
Alt + 5 + F4
å®è¡ããããšã圌ã¯é©åãªå Žæã§æ¯å質åããæ°åãæžãçããŠç¶è¡ããããæ°åãæžãçããŠç¶è¡ããŸãã
誰ããæ°ä»ããªãã£ãå Žåããã¹ãŠããã®å®éšããã¹ãããæºåãã§ããŠããŸãã ãã®ããã¹ããããã¯ããã;;ãªãªãžãã«ããŒïŒãã®è¡ããã¯ãªããããŒãã«çŽæ¥ã³ããŒããCtrl + x + Ctrl + k + Ctrl + eã§Emacsã®ãã¯ããšãã£ã¿ãŒãéãããã®è¡ãããã¯ããã®åŸã«è²Œãä»ããŸãã ïŒ "ãCtrl + c + Ctrl + cãæŒããŠãããAlt + 5 + F4ãæŒããŸãã
ã©ã®ãã¯ãã倧ãããå°ãããïŒ
ä»»æã®ããã°ã©ã ã§ãã¯ããäœæãããšãã1ã€ã®å€§ããªãã¯ããŸãã¯å€ãã®å°ããªãã¯ããã©ã®ããã«æé©ã«äœæããããšããçåãçããŸãã çµéšäžãèšé²äžã§ãã£ãŠã倧ããªãã¯ãã¯ãã¡ããã¡ãã«ãªãå¯èœæ§ããããåããªã¹ã¯ã§æžãçŽããªããã°ãªããªãããšã瀺åãããŠããŸãã ã¹ãã¬ãŒãžã«ã€ããŠè©±ãå Žåãã¹ãã¬ãŒãžã倿ããããŒã¿ã®ããããªå€æŽã§ããã®å€æŽã«å¯ŸåŠããå¿
èŠãããããã®å€æŽã¯ãããã°ã«ã€ãªãããŸãã éèŠã§ãªãããã¹ãã®ç·šéãéå§ããã ãã§ããã®ãããªãã¯ãã«è¡ãè©°ãŸãããããªããŸãã
å¥ã®åŽé¢ããããŸã-ãã¯ãã«ã¯ç¹°ãè¿ããå¿
èŠã§ãã ãã¯ãå
šäœã®ã¢ã¯ã·ã§ã³ã®å°ããªãµãã»ããã®ã¿ãåšæçã«ç¹°ãè¿ãå¿
èŠãããããšããããããŸãã ãããè¡ãã«ã¯ãæåããã§ããããã«ãã¢ããªã¹ããããããåé¢ããåãæ¹æ³ã§ãããããå°ããªãã¯ããäœæããå¿
èŠããããŸãã
ãããã£ãŠãå°ããªãã¯ãã®æ¹ãåªããŠããŸãã ã·ã¹ãã ãç Žå£ããããšãªããããããç¹°ãè¿ãããã亀æããããç·šéããããé åºãç°¡åã«å€æŽãããã§ããŸãã
æåã®ãã£ã³ããŒã³ã§å
µå£«ãéããŸã
æåã®å
µå£«ãå®äºãããšã圌ãã¯äœããå£ããŠèª°ããšæŠãããã«ãã£ã³ãã«è¡ããŸãã ãã®ãããããŸããŸãªçš®é¡ã®æŠéæ©ã®åŒ·ããè£
ç²ãé床ã倿ããåŸã§èšç»ããããã£ã³ããŒã³äžã«æ£ããé
åžã§ããããã«ãªããŸããã©ã®ãã¯ãããããŸããïŒ
ãã¯ãã¯ä»ã®æ©èœãæããã§ãªããããããã¹ãã«ã®ã¿é©çšãããããšãéåžžã«å€ããããŸãã Emacsã§ã¯ããã¯ãã¯ããã¹ãã®å€æŽãå€èгã®å€æŽã颿°ã®å®è¡ã®3çš®é¡ã«åé¡ã§ããŸãã
ãã¬ãŒã å
ã«ãŠã£ã³ããŠãäœæããŠãµã€ãºã倿Žããããã®ã»ãšãã©ã®ã¢ã¯ã·ã§ã³ã¯äœåºŠãå®è¡ãããŸããããã¯ãã䜿çšããŠãã¹ãŠãå®è¡ã§ããããšãç¥ã£ãŠãã人ã¯ã»ãšãã©ããŸããã ããã§ãåçŽãªãã¯ããèšé²ããŠãããã§éãã§ã¿ãŸãããã
1ïŒãšãã£ã¿ãŒãéããæåã®ãã¯ããäœæããŸãã
Cx 2 Cx 3 Cx o Cx o Cx 3 Cx o
2ïŒ2çªç®ã®ãã¯ããèšé²ããŸãã
123
3ïŒã¯ãªãŒã³ãŠã£ã³ããŠã§ãæåã®ãã¯ããéžæãã3åå®è¡ããŸãã
Alt + 3 + Ctrl + x + Ctrl + k + Ctrl + k
CtrlãæŸããã«ã2çªç®ã®ãã¯ãã«ç§»ããŸããã
Ctrl + n
CtrlãæŸããã«å®è¡ãã
Ctrl + k
æ£ããè¡ããããšããã®ãããªåçã衚瀺ãããŸã
ãã®ãããªåçãäœãã®ã¯ç°¡åã§ã
ãããŠãã®ãããª
ã芧ã®ãšããããŠã£ã³ããŠãåå²ããããã®ç°¡åãªãã¯ããèšé²ããã ãã§ãããŸããŸãªãã¿ãŒã³ãäœæã§ããŸãã
ãã䟿å©ãªäŸã¯ã2ã€ã®ç¬ç«ããã³ã³ãœãŒã«ãéãããšã§ãã ããã°ã©ã ãäœæããå Žåã1ã€ã®ã³ã³ãœãŒã«ã§1ã€ãå®è¡ããå¥ã®ã³ã³ãœãŒã«ã§ãã1ã€ãå®è¡ããå¿
èŠããããŸãã åæã«ããœãŒã¹ãç·šéããå¿
èŠããããŸãã
ãã¯ããèšé²ããŠå®è¡ãã
Cx 2 Cx o Cx 3 Cu <<shell>> shell-compil RET Cx o Cu <<shell>> shell-exec RET M-- 2 Cx o
äžã«2ã€ã®ç°ãªãã³ã³ãœãŒã«ãããããã¹ããããã¡ãŒãåç
§ããŠãã ãã
ä»ããã®ãããªãã¯ããæžã
Cx o Cx k RET yes RET Cx o Cx k RET yes RET Cx 0 Cx 0
ãã®éã®ã¢ã¯ã·ã§ã³ã¯ãã³ã³ãœãŒã«ã§ãŠã£ã³ããŠãéããŸãã ããã§ã1çµã®ã³ã³ãœãŒã«ã1ã€ã®ãã¯ãã§éããå¥ã®ãã¯ãã§éããããšãã§ããŸãã ãŸãããããã®ãã¯ãã¯ãæ¢ã«ããã£ãŠããæ¹æ³ã§åãæ¿ããããšãã§ããŸãã
ãã¯ãã®å¥ã®äŸã次ã«ç€ºããŸããããã¯ãããã¹ãã®åŠçããŠã£ã³ããŠã®äœæãè¡ããããã¡ã€ã«ãããŒãžã£ãŒã¢ãŒãã§äžé£ã®ã¢ã¯ã·ã§ã³ãå®è¡ããŸãã
ãã¯ããèšé²ãã
+ dir <f3> 2*RET Cx Cf file . txt RET abcd Cx Cs Cx k RET g ^ g
圌ã«ã«ãŠã³ã¿ãŒãèšå®ããŸã
Ctrl + x + Ctrl + k + Ctrl + c
1
RET
ã©ããã«ãã£ã¬ã¯ããªãäœæããCtrl + x + dã䜿çšããŠããã«ç§»åããŸãã ãã¯ãã5åå®è¡ãããšã5ã€ã®ãã£ã¬ã¯ããªãäœæãããŸããåãã£ã¬ã¯ããªã«ã¯ãç¬èªã®ããã¹ããæã€ç¬èªã®ãã¡ã€ã«ããããŸãã
ãã®ããããã£ã¬ã¯ããªããªãŒãäœæããã³åé€ãããããã¡ã€ã«ã®å
å®¹ãæš©éãååãªã©ã®å€éšããŒã¿ã倿Žãããã§ããŸãã åæ§ã«ãã³ã³ãœãŒã«ã§ãã¯ãã䜿çšããŠãããã°ã©ã ãèªåçã«ã³ã³ãã€ã«ããã³å®è¡ã§ããŸãã ããã«ã1ã€ã®ãã¯ããç°ãªãã³ã³ãœãŒã«ãšå¯Ÿè©±ããããããåãæ¿ããããšãã§ããŸãã
ããã«å¥ã®äŸããããŸã
echo SPC x RET Cx o echo SPC y RET Cx o
åºå°ã§å
µå£«ã調çãã
æåã®æŠãã§ããŸããŸãªã¿ã€ãã®å
µå£«ã®å¯èœæ§ãçºèŠãããšãããã§ã«å®çŸ©ãããã¿ã¹ã¯ã解決ããããã®ç¹å®ã®ã¿ã€ããäœæããèª°ãæºããªãå®å
šãªå Žæã«ããããèç©ããããšãã§ããŸãã ç§ãã¡ã¯ãã©ã®çµæãšã©ã®éããã广çã§ããããèŠã€ãå§ããŸãããã¯ããé衚瀺ã«ããæ¹æ³ã¯ïŒ
Emacsã»ãã·ã§ã³äžã«ããããçš®é¡ã®äŸ¿å©ãªãã¯ããå®è¡ãããšããããããæšãŠãã®ã¯æ®å¿µã§ãã ã€ã³ã¿ãŒãããã§ã®æ€çŽ¢ã¯ã»ãšãã©è¡ãããŸãããEmacsã«æ§ããããæé«ã®ããŒãžã§ã¯ããã¯ããLispã«å€æããŠããéåžžã®é¢æ°ãšããŠä¿åããããšã«ã€ããŠã®ã¿æžãããŠããŸãã ããã¯ããªããå¿
èŠãªãã®ã®ããã§ãããããã§ã¯ããç¥ãããåé¡ã«çŽé¢ããŠããŸãïŒãã®é¢æ°ã§ã¯æ°æ¥ã§å¿ããããååãèŠããå¿
èŠããããŸãã ããã«é£ãããªãã·ã§ã³ããããŸã-ãã¯ãèªäœãå¿ããå Žåã ããã2ã€ã®ãã®ãäžç·ã«è¿œå ãããšã<forgotten macro> + <forgotten name> = 0ã«ãªããŸããããããæãéèŠãªããšã¯ããããäž»ãªåé¡ã§ãããã®ãããªãã¯ãã¯ãã¯ããªã³ã°ã«æ¿å
¥ãããªãããããã®çŽ æŽãããããã€ã¹ããå€ããŸãã ããã«ããããã¯ãã¯ãä¿åããããã¯ããšçŸåšã®ã»ãã·ã§ã³äžã«èšé²ããããã¯ãã«éå±€åãããŸãã
ãã¯ããLispãã¥ãŒã«å€æããã«ã¯ããã¯ãã«åãæ¿ããŠinsert-kbd-macroãå®è¡ããŸãã
ããã«ãã¯ã123ãš456ããããŸã
(setq last-kbd-macro "123") (setq last-kbd-macro "456")
ã·ã³ãã«ã§äžåã«èŠããŸãããäž¡æ¹ãšãæåŸã®ãã¯ãã«ããŒãããããããããŒãã«ã¯é©ããŠããŸããããã®ããã«ã¯ç©ºã®ãã¯ããäœæããå¿
èŠããããŸãã ããŠã³ããŒãã«é©ãããã¯ããäœæããã«ã¯ãCtrl + x + Ctrl + k + nã䜿çšããŠäž¡æ¹ã®ååãä»ããå¿
èŠããããŸãïŒæ¬¡ã®ãã¯ããžã®åãæ¿ããšæ··åããªãã§ãã ããïŒã
ååãonetwothreeããã³fourfivesixã®å Žåãinsert-kbd-macroã³ãã³ãã®åäœã¯ç°ãªããŸã
(fset 'onetwothree (lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ("123" 0 "%d")) arg))) (fset 'fourfivesix (lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ("456" 0 "%d")) arg)))
ä»ã§ã¯ãEmacsåæåãã¡ã€ã«ã«æ¥ç¶ãããŠããlispãã¡ã€ã«ã«ã¹ããŒãããŸãã ããã¯ãã¯ããä¿åããããã®å€å
žçãªãªãã·ã§ã³ãšèããããŠããããã¯ãã¯æ¬¡åEmacsãèµ·åãããšãã«ãããã®ååã§äœ¿çšã§ããŸãã
ãã¯ããªã³ã°ã空ã«ãªãããšã¯èæ
®ãããŸãããåœŒã®æ¹æ³ã¯ããã«èŠã€ãããŸãããç§ã¯ããããã¹ãŠæŸãäžããŠãªã³ã°ã«çããŠãããååãªãã§ãã¯ããããã·ã¥ããæ¹æ³ãåŠã°ãªããã°ãªããŸããã§ããã (defun make-my-macros() "Make macros." (interactive) (add-to-list 'kmacro-ring '("123" 0 "%d")) (add-to-list 'kmacro-ring '("456" 0 "%d"))) (make-my-macros)
eval-bufferãä»ããŠãã®ã³ãŒããå®è¡ãããšãæ°ãããã¯ããèšé²ããããã«ãªã³ã°ãéãããŸãŸããªã³ã°ã«ãã€ã§ããã¯ããããŒãã§ããŸãããã®ã³ãŒããåæåãã¡ã€ã«ã«ã¹ããŒãããå Žåããã¯ãããªããŒãããã«ã¯ã颿°ãåŒã³åºãã ãã§ååã§ããéåžžã®æ©èœãããåªããŠããã®ã¯ãªãã§ããïŒ
Lispãããç¥ã£ãŠããŠãïŒLispèªäœã§ã¯ãªããEmacså
éšã®ååã§ãïŒããããã®å Žåã§ãã1ã€ã®é¢æ°ãæžãã®ã¯ãã¯ããæžããããæéãããããŸããåæã«ããããã°ãä¿åãããã³é¢æ°ã®åèªã¿èŸŒã¿ãè€éãªããã颿°ã®å€æŽã¯æå¶ãããŸããä»ã®å€ãã®éèŠã§ãªããã®ãèšæ¶ããå¿
èŠããããããä»ã®äººãšã®å
±çã«ããã1ã€ã®æ©èœã®å
±åäœæ¥ãããŸããããŸããããããŠãã¯ã-仿¥ã¯ãã¯ãããããææ¥ã¯ãã¯ãããããŸããããç¡æã§ãããããã¯å€åºå
ã§å€æŽããŠã³ããŒã§ããåé¡ãæå€±ã®æãããã®åŸã®ããŒããããã°ã®æãããããŸããããã¯ãã«ãšã©ãŒãå«ãŸããŠããå Žåã¯ãåã«ã³ããŒããããã¹ãŠã®å®éšã¯ãã¯ããšãã£ã¿ãŒã®ã³ããŒã§å®è¡ãããŸãããã¹ãŠã®æºåãæŽã£ãããå€ãããŒãžã§ã³ãåé€ãããæ°ããããŒãžã§ã³ããã®å Žæã«ç§»åããŸããããã«ã1ã€ã®å°ããªãã¯ãã®å¹æã¯ãå€ãã®æ©èœçæ§æäœã®å¹æã«çããããšããããããŸãã, . , , , . , .?
å°ãåãŸã§ãEmacs ã¢ãŒããèŠã€ããŸããããã®åŸãåæã«æŠåšåº«ã«å
¥ãããã ãã§ãªããååãšããŒããŒãã®çµã¿åããã§ç«¶åããªãããã«ããããã«ãå€ãã®æ©èœãšã®æ··ä¹±ãåãé€ãå¿
èŠããããŸããããããããEmacsã§ãããèªç¶ãªæ¹æ³ã§è¡ãæ¹æ³ãåŠã³ãŸãã-ãããŠããã¹ãŠã1ã€ã®ã¡ã€ã³ã¢ãŒããšãããã¯ãä»ããŠããã«æ¥ç¶ããããã€ãã®ãµã€ãã¢ãŒããäœæããŸãããäžè¬ã«ãé åºä»ãããã圢åŒã§ããã€ãã®æ©èœã䜿çšããã«ã¯ãå°ããªã¢ãŒããäœæããå¿
èŠããããŸãããŸããã¢ãŒãå
ã§ã¯ãã¢ãŒãããªã³ã«ãããšã€ã³ã¹ããŒã«ããããªãã«ãããšåé€ãããããŒããŒãã·ã§ãŒãã«ããã«é¢æ°åŒã³åºããæ¢ã«è¿œå ã§ããŸãããã®ãããç°ãªãã³ã³ããã¹ãçšã«ããã€ãã®å°ããªã¢ãŒããäœæããåã¢ãŒãã«åå¥ã®ãã¯ããèšå®ã§ããŸããããã€ãã®ã¢ãŒãããããŸãã1ã€ã¯Habraããã1ã€ã¯YouTubeããããŠæ®ãã¯ãã©ãŒã©ã ã§ãããããŠããããã®ããã€ãã¯ãã§ã«ç¬èªã®é¢æ°ãšãã¯ãã®ã·ã¹ãã ãéçºããŠããŸããåã¢ãŒãã§ã¯ããã¯ãã¯ã¿ã¹ã¯ããšã«ã°ã«ãŒãåãããã¿ã¹ã¯ããšã«ãã¯ãã®ã»ããããªã³ã°ã«ããŒãã§ããŸããããã«ãã¿ã¹ã¯èªäœãšãã®äžã®ãã¯ãã®æ§æã¯ã颿°ã®ã³ã¡ã³ãã§èª¬æã§ããŸããã³ã¡ã³ãã¯ãCtrl + h + mã§ã¢ã¯ã»ã¹ã§ããã¢ãŒãã®ãã«ãããç°¡åã«è¡šç€ºã§ããŸãããããŠãããã«ããã©æ¿æš©ãžã®å©ãããããŸã Habra minor mode (indicator Habr): Mode for `http://www.habrahabr.ru'. key binding --- ------- Cc Prefix Command Cc m Prefix Command Cc mh Prefix Command Cc mhc Prefix Command Cc mhm Prefix Command Cc mhq habra-wrap-quote Cc mhmg habra-make-macro-general Cc mhc 1 habra-wrap-code Cc mhc 2 habra-wrap-source
ãããŠãããã¯YouTubeã®æ¿æš©ãžã®å©ããã©ã®ããã«èŠãããã§ã Youtube minor mode (indicator YouTube): Mode for `https://www.youtube.com'. key binding --- ------- Cc Prefix Command Cc m Prefix Command Cc my Prefix Command Cc mym Prefix Command Cc mymg youtube-make-macro-general Cc mymp youtube-make-macro-playlist
ãã®æ¹æ³ã§é¢æ°ã®ååããã€ã§ãèŠããŠããããããã®é¢æ°ã«ç§»åããŠããã®äžã®ãã¯ãã«é¢ããã³ã¡ã³ããèŠãããšãã§ããŸããHabraã®ã¢ãŒãèªäœã¯æ¬¡ã®ããã«ãªããŸããœãŒã¹ã³ãŒã ;; Habra mode (defun habra-wrap-quote() "Wrap selection to <blockquote></blockquote> tags." (interactive) (if (not (mark)) (set-mark (point))) (narrow-to-region (mark) (point)) (goto-char (point-min)) (insert "<blockquote>") (goto-char (point-max)) (insert "</blockquote>") (set-mark (point-min)) (widen)) (defun habra-wrap-code() "Wrap selection to <code></code> tags." (interactive) (if (not (mark)) (set-mark (point))) (narrow-to-region (mark) (point)) (goto-char (point-min)) (insert "<code>\n") (goto-char (point-max)) (insert "\n</code>") (set-mark (point-min)) (widen)) (defun habra-wrap-source() "Wrap selection to <source></source> tags." (interactive) (if (not (mark)) (set-mark (point))) (narrow-to-region (mark) (point)) (goto-char (point-min)) (insert "<source>\n") (goto-char (point-max)) (insert "\n</source>") (set-mark (point-min)) (widen)) (defun habra-make-macro-general() "Make general macros." (interactive) ;; Add a title to spoiler (add-to-list 'kmacro-ring '("\Cs<spoiler\Cm title=\"\"\Cb\Cu\C-xq" 0 "%d")) ;; Replace * to <h1> (add-to-list 'kmacro-ring '([?\Cu ?\Cs ?^ ?\\ ?* ? ?\Cm ?\Cx ?q ?\M-2 ?\C-? ?\M-\\ ?< ?h ?1 ?> ?\Ce ?\M-\\ ?< ?/ ?h ?1 ?>] 0 "%d")) ;; Replace ** to <h2> (add-to-list 'kmacro-ring '([?\Cu ?\Cs ?^ ?\\ ?* ?\\ ?* ? ?\Cm ?\Cx ?q ?\M-3 ?\C-? ?\M-\\ ?< ?h ?2 ?> ?\Ce ?\M-\\ ?< ?/ ?h ?2 ?>] 0 "%d")) ;; Change < to < (add-to-list 'kmacro-ring '("\Cs<\Cm\C-xq\C-?<" 0 "%d")) ;; Change > to > (add-to-list 'kmacro-ring '("\Cs>\Cm\C-xq\C-?>" 0 "%d")) ;; Change leading space to (add-to-list 'kmacro-ring '("\Cu\Cs^ \Cm\C-xq\C-? " 0 "%d")) ;; Change double space to (add-to-list 'kmacro-ring '("\Cu\Cs \Cm\C-xq\C-? " 0 "%d")) ) (defvar habra-mode-map (let ((map (make-sparse-keymap))) (define-key map (kbd "Cc mh q") 'habra-wrap-quote) (define-key map (kbd "Cc mhc 1") 'habra-wrap-code) (define-key map (kbd "Cc mhc 2") 'habra-wrap-source) (define-key map (kbd "Cc mhm g") 'habra-make-macro-general) map) "Keymap for `habra-mode'.") (define-minor-mode habra-mode "Mode for `http://www.habrahabr.ru'. \\{habra-mode-map}" nil " Habr" nil (if habra-mode (progn (habra-make-macro-general) (add-to-list 'yas-extra-modes 'habra-mode) (yas-minor-mode t)) (progn (set 'yas-extra-modes (delete 'habra-mode yas-extra-modes))))) (provide 'habra-mode)
ããã§ã¯ãã¢ãŒãèªäœãåå空éã«ãã£ãŠåå²ãããŠããããšãããããŸãã Cc + mã¯ããã®å°ããã¢ãŒãã®1ã€ãå
¥åããæ¬¡ã«ååã®æåã®æå-hïŒhabraïŒãå
¥åããããã«ã¢ãŒãå
ã§ã¢ã¯ã·ã§ã³ãéžæãããŸã-mïŒãã¯ãïŒã次ã«ãã®ã¢ã¯ã·ã§ã³ã®äºçš®-gïŒäžè¬ïŒããããã£ãŠãå®éã«ã¯ãå€ãã®ãã¯ãã°ã«ãŒããäœæã§ããŸãããããã¯ãã¹ãŠããã€ã§ãèšè¿°ããŠãªããŒãããã®ã«é©ããŠããŸããåæã«ãããã€ãã®å°ããªã¢ãŒããåæã«ãªã³ã«ããããšãã§ããäºãã«å¹²æžããããšã¯ãããŸãããããã«ããèŠããšãHabraã®ã¢ãŒãã§ã³ãŒãã¿ã°ãã©ã®ããã«åé¢ãããŠããããããããŸãã cïŒã³ãŒãïŒããŒèªäœã¯åå空éã®åœ¢åŒã§äœæãããããŒ1ãšããŒ2ã¯ãã®ã¹ããŒã¹ã®ååã§ãããã¯ãã°ã«ãŒãã§ãåãããšãã§ãããã¯ãã°ã«ãŒãã®éå±€ãäœæãããŸããã©ããªå°ããªã¢ãŒãã§ãããã¯ãã®äžè¬çãªã°ã«ãŒãã¯æ¥ç¶åŸããã«èªåçã«ããŒããããããšã«æ³šæããŠãã ãããå®è·µã瀺ããŠããããã«ããããªãã§ã¯ããã¯ããžã®ã¢ã¯ã»ã¹ã¯åžžã«çµã¿åãããåŒã³åºãå¿
èŠããããŸããããã ãããã¯ããªã³ã°ã«ã¯é·ãã®å¶éããããããæ®ãã®ãã¯ãã¯èªåçã«èªã¿èŸŒãŸããŸããããããã£ãŠãYouTubeã®ã¢ãŒãã§ã¯ãã¢ãŒãããªã³ã«ãªã£ãŠãããšãã«äžè¬çãªãã¯ããããŒããããç¹å¥ãªãã¯ãïŒçµç¹ã¢ãŒãã®ãããªãªã¹ããããŒãã«ã«å€æããããïŒã¯åžžã«ããŒããŒãã®çµã¿åããã«ããããŒããåŸ
æ©ããŸããYouTubeã®ã³ã³ãã³ãã¢ãŒããœãŒã¹ã³ãŒã ;; YouTube mode (defun youtube-make-macro-general() "Make general macros." (interactive) (add-to-list 'kmacro-ring '("https://www.youtube.com\Cj" 0 "%d")) ) (defun youtube-make-macro-playlist() "Make macros for saving playlist." (interactive) ;; (add-to-list 'kmacro-ring '([?\Mx ?b ?r ?o ?w ?s ?e ?- ?u ?r ?l ?- ?e ?m ?a ?c ?s return ?\Cy return] 0 "%d")) ;; (add-to-list 'kmacro-ring '("\Cs<tr\Ca\Cs</tbody\Ca\367" 0 "%d")) ;; (, , ) (add-to-list 'kmacro-ring '([?\Cs ?< ?a ? ?h ?r ?e ?f ?= ?\" ?\Cm ?\Cw ?h ?t ?t ?p ?s ?: ?/ ?/ ?w ?w ?w ?. ?y ?o ?u ?t ?u ?b ?e ?. ?c ?o ?m ?\Cs ?& ?\Cm ?\Cb ?\Cj ?\Cs ?< ?a ? ?c ?l ?a ?s ?s ?= ?\" ?p ?l ?- ?v ?i ?d ?e ?o ?- ?t ?i ?t ?l ?e ?\Cm ?\Cw ?\Cs ?d ?a ?t ?a ?- ?s ?e ?s ?s ?i ?o ?n ?l ?i ?n ?k ?= ?\Cm ?\Cw ?\Cs ?> ?\Cm ?\Cw ?\Ck ?\M-\\ ?\Ce ?\M-\\ ?\Cj ?\Cs ?c ?l ?a ?s ?s ?= ?\" ?t ?i ?m ?e ?s ?t ?a ?m ?p ?\Cm ?\Cw ?\Cs ?l ?a ?b ?e ?l ?\Cm ?\Cw ?\Cs ?> ?\Cm ?\Cw ?\Cs ?< ?\Cb ?\Cj] 0 "%d")) ;; (add-to-list 'kmacro-ring '("|id|Url|S|Desc|Time|\Cj|-\Cj||||<40>||\Cm\Ca" 0 "%d")) ;; (, , ) (add-to-list 'kmacro-ring '("|\Cx\Ck\Ci|[[\Ce][link]]|-|\Ck\Ce|\Ck\Ce|\Ce\Cn\Ca" 1 "%d")) ) (defvar youtube-mode-map (let ((map (make-sparse-keymap))) (define-key map (kbd "Cc mym g") 'youtube-make-macro-general) (define-key map (kbd "Cc mym p") 'youtube-make-macro-playlist) map) "Keymap for `youtube-mode'.") (define-minor-mode youtube-mode "Mode for `https://www.youtube.com'. \\{youtube-mode-map}" nil " YouTube" nil (if youtube-mode (progn (youtube-make-macro-general) (add-to-list 'yas-extra-modes 'youtube-mode) (yas-minor-mode t)) (progn (set 'yas-extra-modes (delete 'youtube-mode yas-extra-modes))))) (provide 'youtube-mode)
倧è»ã«éšéãæŽŸé£ããæã§ã
. , . , , , , , -.