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
Making a Vim Plugin is not afraid
Search
po3rin
December 17, 2019
Programming
2
450
Making a Vim Plugin is not afraid
po3rin
December 17, 2019
Tweet
Share
More Decks by po3rin
See All by po3rin
M3におけるCI/CDパイプラインを新鮮に保つ仕組み
po3rin
0
360
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
1
340
検索基盤移行時の思考
po3rin
0
4.3k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
6k
Elasticsearchを負荷から守るesguard
po3rin
0
290
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
po3rin
1
910
eskeeperを使ったファイル定義によるindex管理
po3rin
2
510
M3 情報検索/推薦論文輪読会 ~SIGIR祭~ (SIGIR2021: Session 6D – IR Models)
po3rin
0
120
Handling Temporal Query for Health Search with ja-timex
po3rin
3
350
Other Decks in Programming
See All in Programming
抽象データ型について学んだ
ryounasso
0
210
AI Coding Agent Enablement in TypeScript
yukukotani
17
7.7k
〜可視化からアクセス制御まで〜 BigQuery×Looker Studioで コスト管理とデータソース認証制御する方法
cuebic9bic
2
280
Interface vs Types ~型推論が過多推論~
hirokiomote
1
240
FastMCPでMCPサーバー/クライアントを構築してみる
ttnyt8701
2
110
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
110
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
Proxmoxをまとめて管理できるコンソール作ってみました
karugamo
1
440
がんばりすぎないコーディングルール運用術
tsukakei
1
200
Parallel::Pipesの紹介
skaji
2
890
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
400
プロダクト改善のために新しいことを始める -useContextからの卒業、Zustandへ-
rebase_engineering
1
100
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Into the Great Unknown - MozCon
thekraken
39
1.8k
Being A Developer After 40
akosma
91
590k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
BBQ
matthewcrist
88
9.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
1
93
It's Worth the Effort
3n
184
28k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Making Projects Easy
brettharned
116
6.2k
Thoughts on Productivity
jonyablonski
69
4.7k
Transcript
Making a Vim Plugin is not afraid Gorilla Vim #11
Dec 17, 2019 @ po3rin
pon ( @po3rin ) Software Engineer ( Go / Python
/ Rust ) in Tokyo. Interested in NLP & Image Processing . Graduated Nagoya Univ (Physics).
Introduction \
Έͳ͞ΜΞυϕϯτΧϨϯμʔࢀՃ͠·͔͢ʁ
3&"%.&NEॻ͖·͔͢ʁ
ͨͪͷੜ׆͔ΒͬͯΓͤͳ͍.BSLEPXOɻɻ
(PʹHPGNUͱ͍͏ίʔυΛϑΥʔϚοτͯ͘͠ΕΔศ རͳػೳ͕ඪ४ͰඋΘ͍ͬͯ·͢ɻ
͔͠͠.BSLEPXOզΒ͕૬ͷHPGNU͕ޮ͔ͳ͍ʂʂ Թ͔Έͷ͋ΔखಈHPGNU
ͦ͜Ͱ.BSLEPXOͷ(PͷίʔυΛݕͯ͠ HPGNUΛ͔͚ΔπʔϧHPGNUNEΛ࡞ͬͨ
͜ΕͰϒϩάલͷԼॻ͖ɺ3&"%.&NEͷखಈHPGNU ΛຣফͰ͖Δʂʂ
HPGNUNE$-*πʔϧ͚ͩͲɺ7JN1MVHJO൛ ࡞ͬͯอଘ࣌ʹ࣮ߦͰ͖ΔΑ͏ʹ͍ͨ͠ʂͱࢥ ͍ɺ7JNTDSJQUࣝθϩ͔ΒͰ7JN1MVHJO Λ࡞ͬͨɻ
Gofmt \
.BSLEPXOΛύʔε .BSLEPXOͷϊʔυΛτϥόʔε (PͷίʔυΛݕ HPGNUΛ͔͚ΔؔΛDBMM .BSLEPXOͷίʔυΛॻ͖͑ \
͠(PʹΑΔ࣮ΛΓ ͍ͨํͪ͜ΒͷهࣄΛ ಡΜͰ͍ͩ͘͞ IUUQTRJJUBDPNQPSJOJUFNTCBGEBB
7JN1MVHJO͔ΒHPGNUNEίϚϯυΛ࣮ߦ͍ͯ͠Δ
Gofmt \
ͱΓ͋͑ͣ7JN1MVHJO ͷϋϩʔϫʔϧυΛ͢Δ ͜ͱ͕ॏཁʂ࠷ॳʹΔ ͖7JN1MVHJOͷ࡞๏͔ ΒσΟϨΫτϦߏ·Ͱ આ໌͕͋Δ https://qiita.com/bonjin6770@github/items/31e60707ecf2ad6c4496
࣮)FMMP8PSMEͨ͠ޙԿ࡞Δͷ
Ὂطଘ$-*Λ7JN1MVHJOԽ͕ॳ৺ऀʹΦεεϝ ɾ͍͠ࣄͤͣʹ7JN͔Β$-*ΛDBMM͢Δ͚ͩ ɾͦͷׂʹࠓޙͷ7JN1MVHJO։ൃͰجૅʹͳΔ͜ͱֶ͕Δ
Addbance \
Ὂ͍͔ͭ͘τϐοΫΛհ͠·͢ ɾ7JN4DSJQUҙ֎ʹͳΜͰͰ͖Δ ɾΦϓγϣϯͷΓग़͠ ɾ/FP7JNରԠ ɾ$*ςετ
͕ࣗࢥ͍ͬͯͨҎ্ʹ7JN4DSJQU͕ଟ࠼ͳؔΛఏڙ͍ͯͨ͠ɻ ྫ͑.BSLEPXO͔Ͳ͏͔ɺࠓ͔Β࣮ߦ͢ΔίϚϯυ͕࣮ߦͰ͖Δ͔Ͳ͏͔ ΛνΣοΫ͍ͯ͠Δɻ
"TTFSUJPOܥͷؔ·Ͱ৭ʑ͋ΔɻͷͰςεταΫοͱ͔͚Δɻ ԼهϑΝΠϧͷத͕Ұக͢Δ͔ͷςετ
อଘ࣌ͷࣗಈ࣮ߦڧྗͳͷͰΦϓγϣϯͱͯ͠Γग़͢ɻ ͪ͜Βͷํ͕7JN1MVHJOͬΆ͘ͳΔ
7JNͰ͑ΔؔͰ /FP7JNʹͳ͔ͬͨΓ͢ ΔɻͦͷͨΊӈͷΑ͏ʹର Ԡͨ͠ɻ/FP7JNޓͷ͋Δ ؔϥΠϒϥϦ͋ΔΈͨ ͍͚ͩͲɺΧॴ͚ͩͩͬ ͨͷͰͪ͜ΒͰରԠͨ͠ɻ
7JN/FP7JNςετΛΒ ͍ͤͨͷͰɺ͜Μͳײ͡ͰKPC Λ̎ͭఆٛ͢Δͱྑ͍ ϩʔΧϧͷςετDJSDMFDJί ϚϯυͰճ͠Δ ɻ
Conclusion \
7JN4DSJQUͷࣝθϩͷॳ৺ऀͰ7*N1MVHJO͕࡞ΕͨɻͳΜͳΒ 7JN4DSJQU7JN1MVHJOΛ࡞Γͳ͕ΒֶͿͰྑ͍͔ 7JN1MVHJOΛ࡞ͬͨΒΑ͘Θ͔ΒͣίϐϖͰ࡞͍ͬͯͨWJNSDͷҙຯ ͕ཧղͰ͖ΔΑ͏ʹͳͬͨʂ Ͱ͢ΒͰग़དྷͨͷͰ(PSJMMB7JNʹདྷ͍ͯΔਓ͙͢Ͱ͖Δ
Making a Vim Plugin is not afraid Gorilla Vim #11
Dec 17, 2019 @ po3rin