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
3k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Emacsは便利なんだけど、もっと便利にしたいのでpackageを書いてみた件
Slide for 東京Emacs勉強会 端午の節句
https://tokyo-emacs.connpass.com/event/128038/
Taiju Aoki
May 08, 2019
More Decks by Taiju Aoki
See All by Taiju Aoki
本番運用中 Oracle を破壊してしまった話 ~ 破壊と創世 ~ / Oracle Destruction and Creation
blue0513
0
3.2k
オンプレ to オンプレした話/on-premises2on-premises
blue0513
0
3.2k
GitもCIもテストもないプロジェクトでデプロイを自動化するまでの道 / rebuild of DevOps
blue0513
0
3.4k
Git & GitLab & コードレビューって? / about Git, GitLab, CodeReview
blue0513
0
270
ElectronでSlackをさらに便利にしちゃう / Slack with Electron
blue0513
3
920
GitHub の README をいい感じにする / Cool Readme
blue0513
3
1.7k
Emacs × Sound やってみた / Emacs with Sound
blue0513
1
1.1k
Slack を TweetDeck にしてみた件 / slackdeck-proto
blue0513
0
3.1k
知ってるとお得な iTerm2 と zsh/bash の小技
blue0513
3
880
Other Decks in Programming
See All in Programming
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
330
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
190
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
CSC307 Lecture 17
javiergs
PRO
0
320
Inside Stream API
skrb
1
690
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.4k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
110
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
2
1.5k
The NotImplementedError Problem in Ruby
koic
1
710
RTSPクライアントを自作してみた話
simotin13
0
580
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
A better future with KSS
kneath
240
18k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
200
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
230
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
310
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
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 Λʂ ‣ ͦΕͰͳ͚Εʮ࡞Ε͍͍ΜͰʯͷਫ਼ਆ