Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Emacsは便利なんだけど、もっと便利にしたいのでpackageを書いてみた件
Search
Taiju Aoki
May 08, 2019
Programming
5
2.9k
Emacsは便利なんだけど、もっと便利にしたいのでpackageを書いてみた件
Slide for 東京Emacs勉強会 端午の節句
https://tokyo-emacs.connpass.com/event/128038/
Taiju Aoki
May 08, 2019
Tweet
Share
More Decks by Taiju Aoki
See All by Taiju Aoki
本番運用中 Oracle を破壊してしまった話 ~ 破壊と創世 ~ / Oracle Destruction and Creation
blue0513
0
3k
オンプレ to オンプレした話/on-premises2on-premises
blue0513
0
3k
GitもCIもテストもないプロジェクトでデプロイを自動化するまでの道 / rebuild of DevOps
blue0513
0
3.2k
Git & GitLab & コードレビューって? / about Git, GitLab, CodeReview
blue0513
0
240
ElectronでSlackをさらに便利にしちゃう / Slack with Electron
blue0513
3
850
GitHub の README をいい感じにする / Cool Readme
blue0513
3
1.7k
Emacs × Sound やってみた / Emacs with Sound
blue0513
1
1k
Slack を TweetDeck にしてみた件 / slackdeck-proto
blue0513
0
3k
知ってるとお得な iTerm2 と zsh/bash の小技
blue0513
3
840
Other Decks in Programming
See All in Programming
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
3
570
Platformに“ちょうどいい”責務ってどこ? 関心の熱さにあわせて考える、責務分担のプラクティス
estie
1
250
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
2.1k
print("Hello, World")
eddie
2
530
Swift Updates - Learn Languages 2025
koher
2
520
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
610
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
360
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
190
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
6.4k
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
チームのテスト力を鍛える
goyoki
3
970
Featured
See All Featured
Done Done
chrislema
185
16k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
RailsConf 2023
tenderlove
30
1.2k
Being A Developer After 40
akosma
90
590k
Documentation Writing (for coders)
carmenintech
74
5k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Language of Interfaces
destraynor
161
25k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Transcript
Emacs ศརͳΜ͚ͩͲɺ ͬͱศརʹ͍ͨ͠ͷͰ package Λॻ͍ͯΈͨ݅ @blue_1617
ࢲ୭ʁ ‣ ࡞ͬͨ 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 ޕͷઅ۟ : உࢠͷ݈͔ͳΛفئ͢Δ ..... ͱ͍͏͜ͱʁ
͜ͷൃදԿʁ 4 ޕͷઅ۟ : உࢠͷ݈͔ͳΛفئ͢Δ զ͕ Emacs ͷ ݈͔ͳʂʂʂ
͜ͷൃදԿʁ 5 Emacs ศརͳΜ͚ͩͲɺ ͬͱศརʹ͍ͨ͠ͷͰ package Λॻ͍ͯΈͨ݅ Emacs ͷɺͱ͍͏͜ͱͰ...... ͡·ΔΑʂ
ʢGitHub Ͱ Star ͯ͘͠ΕΔͱٽ͍ͯتͼ·͢ʣ
No. 1
ͬͱݟͯΔWindowʹूத͍ͨ͠ʂ
Why? : ͬͱݟͯΔWindowʹूத͍ͨ͠ʂ 8 ׂͯ͠Δͱ 1 window ͕খ͍͞....
ैདྷ : ͬͱݟͯΔWindowʹूத͍ͨ͠ʂ 9 ϑΥʔΧε͞Εͨ window Λେ͖ͯ͘͠ɺίʔυͷҰཡੑΛߴΊΔ ‣ zoom ‣
golden-ratio https://github.com/cyrus-and/zoom https://github.com/roman/golden-ratio.el ʮ͍͍ײ͡ͷαΠζʯʮࣗಈͰʯ֦େ͢Δ package
ͬͱେ͖ͯ͘͠ݟ͍ͨ͘͢͠ͳ.....
ͬͱݟͯΔWindowʹूத͍ͨ͠ʂ ͬͱ ࡞ͬͯΈͨ
ͬͱʢͬͱʣݟͯΔWindowʹूத͍ͨ͠ʂ 12 ʮ࠷େαΠζʯʮ͖ͳλΠϛϯάͰʯ֦େ͢Δ package Λ࡞ͬͨ ‣ instant-maximized-window https://github.com/blue0513/instant-maximized-window
ͬͱʢͬͱʣݟͯΔWindowʹूத͍ͨ͠ʂ 13 1. ΊͬͪΌେ͖͘Ͱ͖Δ 2. ͖ͳ࣌ʹ֦େͰ͖Δ 3. ϑΥʔΧε͕֎ΕΔͱࣗಈղআ͞ΕΔ ར
No. 2
ͬͱίʔυϦʔυͰϝϞ͍ͨ͠ʂ
Why? : ͬͱίʔυϦʔυͰϝϞ͍ͨ͠ 16 ίʔυϦʔσΟϯάதʹϝϞ͢ΔͱࠩͰͪΌ͏......
ैདྷ : ͬͱίʔυϦʔυͰϝϞ͍ͨ͠ 17 annotation ΛຒΊࠐΜͰɺϝϞΛͱΔ ‣ annotate.el ‣ bm
https://github.com/bastibe/annotate.el https://github.com/joodland/bm ʮίʔυͷ֎ଆʯʹʮࠩͱͯ͠ѻΘΕͳ͍ʯϝϞΛهड़͢Δ package
1. ͬͱίʔυͷۙ͘ʹϝϞऔΓ͍ͨͳ..... 2. ෳߦͷϝϞ ΛऔΓ͍ͨͳ.....
ͱ͍͏͔ɺͦΕҎલʹ ࣗલͰ࣮ͯ͠Έ͍ͨͳ
ͬͱίʔυϦʔυͰϝϞ͍ͨ͠ʂ ͬͱ ࡞ͬͯΈͨ
ͬͱʢͬͱʣίʔυϦʔυͰϝϞ͍ͨ͠ 21 ίʔυԼʹෳߦͷϝϞΛ͔͚Δ package Λ࡞ͬͨ ‣ phantom-inline-comment https://github.com/blue0513/phantom-inline-comment
ͬͱʢͬͱʣίʔυϦʔυͰϝϞ͍ͨ͠ 22 1. ίʔυͷͦʹʢίʔυΛԚͣ͞ʣίϝϯτͰ͖Δ 2. ෳߦͷίϝϯτΛॻ͚Δ 3. ίϝϯτͷ Hide/Show ΛΓସ͑ΒΕΔ
ίϝϯτͷҰཡදࣔɺίϝϯτͷӬଓԽରԠͨ͠ ར
ͬͱʢͬͱʣίʔυϦʔυͰϝϞ͍ͨ͠ 23 ΊͬͪΌخ͍͠ Reddit Ͱհͯ͘͠ΕͯΔਓʂ Star ૿͑ͨʂ https://www.reddit.com/r/emacs/comments/bgpffw/phantom_inline_comment_add_inline_comments_that/
No. 3
ͬͱΧʔιϧҠಈΛָ͍ͨ͠ʂ
Why? : ͬͱΧʔιϧҠಈΛָ͍ͨ͠ʂ 26 ΧʔιϧΛతͷҐஔ·ͰҠಈͤ͞Δͷ͕໘.....
ैདྷ : ͬͱΧʔιϧҠಈΛָ͍ͨ͠ʂ 27 ΧʔιϧҠಈΛߴԽͯ͠ɺίʔσΟϯάΛޮԽ͢Δ ‣ ace-jump ‣ avy https://github.com/winterTTr/ace-jump-mode
https://github.com/abo-abo/avy දࣔ͞Εͨώϯτʹδϟϯϓ͢Δ `kf` ΛλΠϓͯ͠δϟϯϓ
ैདྷ : ͬͱΧʔιϧҠಈΛָ͍ͨ͠ʂ 28 ΧʔιϧҠಈΛߴԽͯ͠ɺίʔσΟϯάΛޮԽ͢Δ ‣ point-undo ‣ jump-back! https://www.emacswiki.org/emacs/point-undo.el
https://qiita.com/zk_phi/items/c145b7bd8077b8a0f537 ΧʔιϧΛݩ͍ͨʢݱࡏͷbufferͷʣҐஔʹ͢ C-f undo
1. ҧ͏buffer·Ͱundo͍ͨ͠ͳ...... 2. undo͢ΔॴࣗͰબͼ͍ͨͳ......
ͬͱΧʔιϧҠಈΛָ͍ͨ͠ʂ ͬͱ ࡞ͬͯΈͨ
ͬͱʢͬͱʣΧʔιϧҠಈΛָ͍ͨ͠ʂ 31 ҠಈཤྺΛදࣔͯ͠ϓϨϏϡʔ & δϟϯϓ͢Δ package Λ࡞ͬͨ ‣ point-history https://github.com/blue0513/point-history
ͬͱʢͬͱʣΧʔιϧҠಈΛָ͍ͨ͠ʂ 32 1. ҧ͏bufferʹΕΔ 2. ΔॴΛબͰ͖Δ
ͬͱʢͬͱʣΧʔιϧҠಈΛָ͍ͨ͠ʂ 33 3. ࣄલʹϓϨϏϡʔදࣔͰ͖Δ
ͬͱʢͬͱʣΧʔιϧҠಈΛָ͍ͨ͠ʂ 34 https://github.com/SuzumiyaAoba/ivy-point-history ivy ରԠͷ Extension Λॻ͍ͯ͘ΕͯΔਓʂ ΊͬͪΌخ͍͠
·ͱΊ
;Γ͔͑Γ 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
࠷ޙʹ ‣ Emacs ·ͩ·ͩศརʹͰ͖Δ ‣ ίʔσΟϯάͰײͨ͡ෆຬɺ࣮ Emacs ΛڧԽ͢Εղܾʁ ‣ ղܾΛॿ͚ͯ͘ΕΔ
package Ͳ͔͜ʹ͋Δ 37 ‣ Ͱ͖Δʂpackage ࡞Γʂ ‣ MELPA Ͱͳ͘ GitHub Ͱެ։͢ΔͷOK ‣ ެ։͞Ε͍ͯΔ repository ʹ PR ΛૹΔͷOK ‣ ެ։͞Ε͍ͯΔ repository ʹ issue ΛཱͯΔͷOK ‣ ܅͚ͩͷ package Λ࡞ͯ͠܅͚ͩͷ Emacs Λʂ ‣ ͦΕͰͳ͚Εʮ࡞Ε͍͍ΜͰʯͷਫ਼ਆ