Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Neovim hearts Ruby
Search
Masafumi Okura
May 13, 2022
Programming
0
550
Neovim hearts Ruby
https://fukuokarb.connpass.com/event/245647/
Masafumi Okura
May 13, 2022
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
Developing static sites with Ruby
okuramasafumi
0
310
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
350
Reading Rails 1.0 Source Code
okuramasafumi
0
320
RDoc meets YARD
okuramasafumi
4
190
Why doesn't Ruby have Boolean class?
okuramasafumi
0
32
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
79
Writing documentation can be fun with plugin system
okuramasafumi
0
230
Alba: Why, How and What's So Interesting
okuramasafumi
0
450
Why did my proposals get rejected?
okuramasafumi
1
790
Other Decks in Programming
See All in Programming
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.3k
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
200
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
260
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
780
AIコーディングエージェント(skywork)
kondai24
0
190
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
150
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
360
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
9
5.8k
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
190
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
150
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
2
200
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.7k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.7k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Test your architecture with Archunit
thirion
1
2.1k
30 Presentation Tips
portentint
PRO
1
160
From π to Pie charts
rasagy
0
86
Transcript
Neovim :hearts: Ruby OKURA Masafumi, Fukuoka.rb 0x100 ճ LT େձ,
2022-05-11
100000000ճ։࠵ ͓ΊͰͱ͏͍͟͝·͢ʂʂʂ ʢೋਐʣ
࠷ۙͷRubyͷΛฉ͍͍ͯΔͱ
͜Μͳ͕ଟ͍Ͱ͢Ͷ • typeprof͕VSCodeʹରԠͨ͠Αʂ • SteepରԠ͍ͯ͠ΔΑʂ • σόοΨVSCode্Ͱಈ͘Αʂ
શ෦VSCode͡ΌΜʂ
ԶͨͪʢVimʣʹ໌ͳ͍…ʁ
None
Neovimͱ • VimͷϑΥʔΫ • ݱతͳػೳʹଟ͘ରԠ • VimͷϓϥάΠϯ͍͍ͩͨͦͷ··͑Δ • VimͰ͑ΔϓϥάΠϯͷվྑ൛͕LuaͰॻ͔Ε͍ͯΔ͜ͱ͕ଟ͍ •
ඇৗʹ׆ൃͳ։ൃʢຊମɾϓϥάΠϯͱʹʣ
͍͔ͭ͘ͷศརͳϓϥάΠϯΛ͝հ
neovim/nvim-lspcon fi g
neovim/nvim-lspcon fi g • LSPʢVSCodeൃͷิػೳͱ͔ʹؔ͢ΔϓϩτίϧʣΛ͏ͨΊ ʹ΄΅ඞਢ • ࣄલʹొ͞ΕͨLSPαʔόʔͰ͋ΕɺઃఆϑΝΠϧΛ1ߦॻ͚ͩ͘ ͰNeovimͰ͑ΔΑ͏ʹͳΔ •
ઌSteepରԠͷύονΛ͛ͨʢએʣ • https://github.com/neovim/nvim-lspcon fi g/pull/1842
nvim-treesitter/nvim-treesitter
nvim-treesitter/nvim-treesitter • TreeSitterͱ͍͏ύʔαʔ͕Neovim͔Β͑ΔΑ͏ʹͳΔ • ΈࠐΈͷϋΠϥΠτΑΓΧϥϑϧʹͳΔ • ࢹ֮తʹจ๏ཁૉΛѲͰ͖ΔͷͰศར • ͨͩݱঢ়ɺRubyͰTreeSitterͷΈͩͱΠϯσϯτ͕յΕΔͨΊɺ syntax༗ޮʹ͢Δඞཁ͕͋Δ
Before
After
hrsh7th/nvim-cmp
hrsh7th/nvim-cmp • ࣗಈิϓϥάΠϯͰଟҰ൪ྑ͘Ͱ͖͍ͯΔ • ιʔεΛՃ͢Δ͜ͱͰ৭ʑͳީิ͔ΒิͰ͖Δ • LSP͔Βิ͕Մೳ • ίϚϯυϥΠϯݕࡧิର •
RubyΤσΟλͷิपΓ͕ऑ͍͕ɺকདྷతʹܕϕʔεͷิ༗ ޮʹͰ͖ΔͷͩΖ͏͔
mfussenegger/nvim-dap
mfussenegger/nvim-dap • Debug Adapter Protocol ( https://microsoft.github.io/debug- adapter-protocol/ ) ͕NeovimͰಈ࡞͢ΔΑ͏ʹͳΔ
• rcarriga/nvim-dap-ui Λ͏͜ͱͰIDEͬΆ͍ϦονͳUI͑Δ • suketa/nvim-dap-ruby Λ͑debug.gemͱ࿈ܞͰ͖Δ • …͕ͣͩɺݱ࣌ͰԿΒ͔ͷཧ༝ʹΑΓ͏·͘ಈ࡞͠ͳ͍
͓·͚ʢNeovimઐ༻Ͱͳ͍ͷͰʣ
tpope/vim-rails
tpope/vim-rails • 10Ҏ্લ͔Βଘࡏ͢ΔݹయతͳVimϓϥάΠϯ • `:Emodel`ίϚϯυͳͲɺRailsͷߏΛલఏͱͨ͠ίϚϯυମܥ • લड़ͷnvim-cmpͰίϚϯυิ͕Ͱ͖Δͷ͕ڧྗͰɺ`:Emodel u`ͱ ೖྗ͢Δ͚ͩͰޙิͰUserϞσϧΛ։͘͜ͱ͕Ͱ͖Δ •
Railsͷ߹ɺ”User”Ͱ࢝·ΔϑΝΠϧ͕ଟ͍ͨΊ୯ͳΔϑΝδʔ ϑΝΠϯμʔΑΓ༗ޮͳ߹͕ଟ͍
·ͱΊ
NeovimΛRubyͷ։ൃڥͱͯ͠͏͜ͱ • దͳϓϥάΠϯΛೖΕͯઃఆ͢Εे͑Δ • ٯʹݴ͏ͱɺσϑΥϧτͷঢ়ଶͰੜ࢈ੑΛߴΊΔͷ͍͠ • հͳͷɺ࠷దͳϓϥάΠϯʑมΘ͍ͬͯΔ͜ͱ • ͞Βʹ͍͏ͱׂͱߴ֬Ͱಥવಈ࡞͠ͳ͘ͳͬͨΓ͢Δ •
VimϓϥάΠϯͷੈքʹʮϦϦʔεʯʮόʔδϣϯʯͷ֓೦͕ͳ ͍ͷͰ…
NeovimΛ͏ϝϦοτ • λʔϛφϧ͚ͩͰ։ൃ͕݁͢Δ • ๛ͳϓϥάΠϯ • ωΠςΟϒͷVimΩʔόΠϯυ
Neovim͕͍͍ͯΔਓ • ࣗͰใऩू͕Ͱ͖Δ • vim-jpͱ͍͏ίϛϡχςΟ͕͋ͬͯຊޠ͕͑ΔͷͰͰ͖Δͣ • ࣗͰൺֱɾऔࣺબͰ͖Δ • ಉ͡ػೳΛ࣋ͭϓϥάΠϯ͕ෳ͋Δ͜ͱ͕ଟ͍ •
ઃఆΛࢼߦࡨޡͰ͖Δ • READMEͷ௨Γʹͨ͠ͷʹͳΜ͔มɺͱ͔Α͋͘Δ
Neovim Ruby
pp self • ໊લɿେխ࢙ʢ͓͓͘Β·͞;Έʣ • ॴଐɿϑϦʔϥϯε • ͦͷଞɿKaigi on RailsͷνʔϑΦʔΨφΠβʔɺGrow.rbͷओ࠵ऀɺ
Albaͷ࡞ऀ • ͖ͳςΩετΤσΟλɿVim
ࢀߟ • https://github.com/okuramasafumi/dot fi les/tree/master/vim