Emacsは便利なんだけど、もっと便利にしたいのでpackageを書いてみた件

 Emacsは便利なんだけど、もっと便利にしたいのでpackageを書いてみた件

Slide for 東京Emacs勉強会 端午の節句
https://tokyo-emacs.connpass.com/event/128038/

4cae187d836abc4428abdfb9cd448098?s=128

Taiju Aoki

May 08, 2019
Tweet

Transcript

  1. Emacs ͸ศརͳΜ͚ͩͲɺ ΋ͬͱศརʹ͍ͨ͠ͷͰ package Λॻ͍ͯΈͨ݅ @blue_1617

  2. ࢲ͸୭ʁ ‣ ࡞ͬͨ package ͕ Reddit Ͱ঺հ͞Εͨ blue (@blue_1617) https://blue0513.github.io/show_room/

    ‣ ivy-posframe ͷ collaborator ʹͳͬͨ 2 ࠷ۙͷ Emacs ͳ׆ಈ ‣ ௒Ϋʔϧͳ Emacs PackageʢԶతʣ20 બ https://speakerdeck.com/blue0513 ‣ SpeakerDeck ‣ Qiita ‣ Emacs ͰաڈͷΧʔιϧҐஔΛهԱɾӾཡɾબ୒ɾҠಈ͢Δ ‣ Emacs Ͱྨޠ΍ม਺໊ͷީิΛαοͱௐ΂Δ https://qiita.com/blue0513 ‣ GitHub https://github.com/blue0513 ‣ phantom-inline-comment ‣ point-history
  3. ͜ͷൃද͸Կʁ 3 ୺ޕͷઅ۟ : உࢠͷ݈΍͔ͳ੒௕Λفئ͢Δ ..... ͱ͍͏͜ͱ͸ʁ

  4. ͜ͷൃද͸Կʁ 4 ୺ޕͷઅ۟ : உࢠͷ݈΍͔ͳ੒௕Λفئ͢Δ զ͕ Emacs ͷ ݈΍͔ͳ੒௕ʂʂʂ

  5. ͜ͷൃද͸Կʁ 5 Emacs ͸ศརͳΜ͚ͩͲɺ ΋ͬͱศརʹ͍ͨ͠ͷͰ package Λॻ͍ͯΈͨ݅ Emacs ͷ੒௕ɺͱ͍͏͜ͱͰ...... ͸͡·ΔΑʂ

    ʢGitHub Ͱ Star ͯ͘͠ΕΔͱٽ͍ͯتͼ·͢ʣ
  6. No. 1

  7. ΋ͬͱݟͯΔWindowʹूத͍ͨ͠ʂ

  8. Why? : ΋ͬͱݟͯΔWindowʹूத͍ͨ͠ʂ 8 ෼ׂͯ͠Δͱ 1 window ͕খ͍͞....

  9. ैདྷ : ΋ͬͱݟͯΔWindowʹूத͍ͨ͠ʂ 9 ϑΥʔΧε͞Εͨ window Λେ͖ͯ͘͠ɺίʔυͷҰཡੑΛߴΊΔ ‣ zoom ‣

    golden-ratio https://github.com/cyrus-and/zoom https://github.com/roman/golden-ratio.el ʮ͍͍ײ͡ͷαΠζʯ΁ʮࣗಈͰʯ֦େ͢Δ package
  10. ΋ͬͱେ͖ͯ͘͠ݟ΍͍ͨ͘͢͠ͳ.....

  11. ΋ͬͱݟͯΔWindowʹूத͍ͨ͠ʂ ΋ͬͱ ࡞ͬͯΈͨ

  12. ΋ͬͱʢ΋ͬͱʣݟͯΔWindowʹूத͍ͨ͠ʂ 12 ʮ࠷େαΠζʯ΁ʮ޷͖ͳλΠϛϯάͰʯ֦େ͢Δ package Λ࡞ͬͨ ‣ instant-maximized-window https://github.com/blue0513/instant-maximized-window

  13. ΋ͬͱʢ΋ͬͱʣݟͯΔWindowʹूத͍ͨ͠ʂ 13 1. ΊͬͪΌେ͖͘Ͱ͖Δ 2. ޷͖ͳ࣌ʹ֦େͰ͖Δ 3. ϑΥʔΧε͕֎ΕΔͱࣗಈղআ͞ΕΔ ར఺

  14. No. 2

  15. ΋ͬͱίʔυϦʔυͰϝϞ͍ͨ͠ʂ

  16. Why? : ΋ͬͱίʔυϦʔυͰϝϞ͍ͨ͠ 16 ίʔυϦʔσΟϯάதʹϝϞ͢Δͱࠩ෼ͰͪΌ͏......

  17. ैདྷ : ΋ͬͱίʔυϦʔυͰϝϞ͍ͨ͠ 17 annotation ΛຒΊࠐΜͰɺϝϞΛͱΔ ‣ annotate.el ‣ bm

    https://github.com/bastibe/annotate.el https://github.com/joodland/bm ʮίʔυͷ֎ଆʯʹʮࠩ෼ͱͯ͠ѻΘΕͳ͍ʯϝϞΛهड़͢Δ package
  18. 1. ΋ͬͱίʔυͷۙ͘ʹϝϞऔΓ͍ͨͳ..... 2. ෳ਺ߦͷϝϞ ΛऔΓ͍ͨͳ.....

  19. ͱ͍͏͔ɺͦΕҎલʹ ࣗલͰ࣮૷ͯ͠Έ͍ͨͳ

  20. ΋ͬͱίʔυϦʔυͰϝϞ͍ͨ͠ʂ ΋ͬͱ ࡞ͬͯΈͨ

  21. ΋ͬͱʢ΋ͬͱʣίʔυϦʔυͰϝϞ͍ͨ͠ 21 ίʔυ௚Լʹෳ਺ߦͷϝϞΛ͔͚Δ package Λ࡞ͬͨ ‣ phantom-inline-comment https://github.com/blue0513/phantom-inline-comment

  22. ΋ͬͱʢ΋ͬͱʣίʔυϦʔυͰϝϞ͍ͨ͠ 22 1. ίʔυͷͦ͹ʹʢίʔυΛԚͣ͞ʣίϝϯτͰ͖Δ 2. ෳ਺ߦͷίϝϯτΛॻ͚Δ 3. ίϝϯτͷ Hide/Show Λ੾Γସ͑ΒΕΔ

    ίϝϯτͷҰཡදࣔɺίϝϯτͷӬଓԽ΋ରԠͨ͠ ར఺
  23. ΋ͬͱʢ΋ͬͱʣίʔυϦʔυͰϝϞ͍ͨ͠ 23 ΊͬͪΌخ͍͠ Reddit Ͱ঺հͯ͘͠ΕͯΔਓ΋ʂ Star ਺΋૿͑ͨʂ https://www.reddit.com/r/emacs/comments/bgpffw/phantom_inline_comment_add_inline_comments_that/

  24. No. 3

  25. ΋ͬͱΧʔιϧҠಈΛָ͍ͨ͠ʂ

  26. Why? : ΋ͬͱΧʔιϧҠಈΛָ͍ͨ͠ʂ 26 ΧʔιϧΛ໨తͷҐஔ·ͰҠಈͤ͞Δͷ͕໘౗.....

  27. ैདྷ : ΋ͬͱΧʔιϧҠಈΛָ͍ͨ͠ʂ 27 ΧʔιϧҠಈΛߴ଎Խͯ͠ɺίʔσΟϯάΛޮ཰Խ͢Δ ‣ ace-jump ‣ avy https://github.com/winterTTr/ace-jump-mode

    https://github.com/abo-abo/avy දࣔ͞Εͨώϯτʹδϟϯϓ͢Δ `kf` ΛλΠϓͯ͠δϟϯϓ
  28. ैདྷ : ΋ͬͱΧʔιϧҠಈΛָ͍ͨ͠ʂ 28 ΧʔιϧҠಈΛߴ଎Խͯ͠ɺίʔσΟϯάΛޮ཰Խ͢Δ ‣ point-undo ‣ jump-back! https://www.emacswiki.org/emacs/point-undo.el

    https://qiita.com/zk_phi/items/c145b7bd8077b8a0f537 ΧʔιϧΛݩ͍ͨʢݱࡏͷbuffer಺ͷʣҐஔʹ໭͢ C-f undo
  29. 1. ҧ͏buffer·Ͱundo͍ͨ͠ͳ...... 2. undo͢Δ৔ॴ΋ࣗ෼Ͱબͼ͍ͨͳ......

  30. ΋ͬͱΧʔιϧҠಈΛָ͍ͨ͠ʂ ΋ͬͱ ࡞ͬͯΈͨ

  31. ΋ͬͱʢ΋ͬͱʣΧʔιϧҠಈΛָ͍ͨ͠ʂ 31 ҠಈཤྺΛදࣔͯ͠ϓϨϏϡʔ & δϟϯϓ͢Δ package Λ࡞ͬͨ ‣ point-history https://github.com/blue0513/point-history

  32. ΋ͬͱʢ΋ͬͱʣΧʔιϧҠಈΛָ͍ͨ͠ʂ 32 1. ҧ͏bufferʹ΋໭ΕΔ 2. ໭Δ৔ॴΛબ୒Ͱ͖Δ

  33. ΋ͬͱʢ΋ͬͱʣΧʔιϧҠಈΛָ͍ͨ͠ʂ 33 3. ࣄલʹϓϨϏϡʔදࣔͰ͖Δ

  34. ΋ͬͱʢ΋ͬͱʣΧʔιϧҠಈΛָ͍ͨ͠ʂ 34 https://github.com/SuzumiyaAoba/ivy-point-history ivy ରԠͷ Extension Λॻ͍ͯ͘ΕͯΔਓ΋ʂ ΊͬͪΌخ͍͠

  35. ·ͱΊ

  36. ;Γ͔͑Γ 36 ʮ࠷େαΠζʯ΁ʮ޷͖ͳλΠϛϯάͰʯ֦େ͢Δ package Λ࡞ͬͨ ‣ instant-maximized-window https://github.com/blue0513/instant-maximized-window ҠಈཤྺΛදࣔͯ͠ϓϨϏϡʔ &

    δϟϯϓ͢Δ package Λ࡞ͬͨ ‣ point-history https://github.com/blue0513/point-history ίʔυ௚Լʹෳ਺ߦͷϝϞΛ͔͚Δ package Λ࡞ͬͨ ‣ phantom-inline-comment https://github.com/blue0513/phantom-inline-comment
  37. ࠷ޙʹ ‣ Emacs ͸·ͩ·ͩศརʹͰ͖Δ ‣ ίʔσΟϯάͰײͨ͡ෆຬɺ࣮͸ Emacs ΛڧԽ͢Ε͹ղܾʁ ‣ ղܾΛॿ͚ͯ͘ΕΔ

    package ͸Ͳ͔͜ʹ͋Δ 37 ‣ Ͱ͖Δʂpackage ࡞Γʂ ‣ MELPA Ͱͳ͘ GitHub Ͱެ։͢Δͷ΋OK ‣ ެ։͞Ε͍ͯΔ repository ʹ PR ΛૹΔͷ΋OK ‣ ެ։͞Ε͍ͯΔ repository ʹ issue ΛཱͯΔͷ΋OK ‣ ܅͚ͩͷ package Λ࡞੒ͯ͠܅͚ͩͷ Emacs Λʂ ‣ ͦΕͰ΋ͳ͚Ε͹ʮ࡞Ε͹͍͍Μ΍Ͱʯͷਫ਼ਆ