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.8k
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
2.8k
オンプレ to オンプレした話/on-premises2on-premises
blue0513
0
2.8k
GitもCIもテストもないプロジェクトでデプロイを自動化するまでの道 / rebuild of DevOps
blue0513
0
3k
Git & GitLab & コードレビューって? / about Git, GitLab, CodeReview
blue0513
0
210
ElectronでSlackをさらに便利にしちゃう / Slack with Electron
blue0513
3
800
GitHub の README をいい感じにする / Cool Readme
blue0513
3
1.6k
Emacs × Sound やってみた / Emacs with Sound
blue0513
1
950
Slack を TweetDeck にしてみた件 / slackdeck-proto
blue0513
0
2.8k
知ってるとお得な iTerm2 と zsh/bash の小技
blue0513
2
790
Other Decks in Programming
See All in Programming
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.9k
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
7.6k
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
110
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
850
Go の GC の不得意な部分を克服したい
taiyow
3
940
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
130
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
320
為你自己學 Python
eddie
0
490
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
380
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
3
160
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.2k
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
480
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
328
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
940
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
The Invisible Side of Design
smashingmag
299
50k
The Cult of Friendly URLs
andyhume
78
6.1k
Site-Speed That Sticks
csswizardry
2
210
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Producing Creativity
orderedlist
PRO
343
39k
Optimizing for Happiness
mojombo
376
70k
The Cost Of JavaScript in 2023
addyosmani
46
7.1k
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 Λʂ ‣ ͦΕͰͳ͚Εʮ࡞Ε͍͍ΜͰʯͷਫ਼ਆ