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
Recent Neovim
Search
Masafumi Okura
July 30, 2021
0
120
Recent Neovim
Masafumi Okura
July 30, 2021
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
38
Writing documentation can be fun with plugin system
okuramasafumi
0
180
Alba: Why, How and What's So Interesting
okuramasafumi
0
370
Why did my proposals get rejected?
okuramasafumi
1
660
A suggestion for the future of RDoc
okuramasafumi
1
310
15 JSON serializers for Ruby
okuramasafumi
2
360
Tech Events, Should We See Them from the Outside or the Inside?
okuramasafumi
1
69
Creating gems 101
okuramasafumi
2
140
How NOT to make your DSL terrible
okuramasafumi
0
560
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.4k
Optimizing for Happiness
mojombo
379
70k
Speed Design
sergeychernyshev
32
1k
Why Our Code Smells
bkeepers
PRO
337
57k
Become a Pro
speakerdeck
PRO
28
5.4k
A Tale of Four Properties
chriscoyier
160
23k
Music & Morning Musume
bryan
46
6.6k
How to Ace a Technical Interview
jacobian
277
23k
Documentation Writing (for coders)
carmenintech
72
4.9k
Statistics for Hackers
jakevdp
799
220k
4 Signs Your Business is Dying
shpigford
184
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
940
Transcript
࠷ۙͷNeovim ͜Μͳײͬ͡Ά͍Α ẂנϥΠτχϯάτʔΫʢAkarenga.LTʣ ୈ10ճ OKURA Masafumi, 2021-07-30
ࣗݾհ • ໊લɿେխ࢙ • ॴଐɿϑϦʔϥϯε • ಘҙͳݴޠɿRuby • ͍ͬͯΔΤσΟλɿNeovim •
՝֎׆ಈɿKaigi on Rails, ʰϚελϦϯάVimʱ༁
ࠓͷςʔϚ
Neovim
Neovimͱ • https://neovim.io/ • ݹ͔͘Β͋ΔΤσΟλͰ͋ΔVimͷϑΥʔΫ • LuaΛ࠾༻֦ͨ͠ுੑͷߴ͕͞Ϧ • 2021࣌ͰVimͱҟͳͬͨํʹਐԽ͍ͯ͠Δ
࠷ۙͷNeovimࣄ • LSPʢLanguage Server ProtocolʣͷΈࠐΈ • TreeSitterͷద༻ʹΑΔ֦ு͞ΕͨγϯλοΫεϋΠϥΠτ • Floating WindowʹΑΔUIͷࣗ༝ͷߴ͞
LSP
LSP • https://microsoft.github.io/language-server-protocol/ • Microsoft͕։࢝ͨ͠ΤσΟλͷͨΊͷϓϩτίϧ • ิީิͷఏڙϦωʔϜػೳͳͲɺ༷ʑͳػೳΛඋ͑Δ • NeovimͰݱ࣌Ͱͷ࠷৽൛Ͱ͋Δv0.5ΑΓωΠςΟϒʹαϙʔτ ͞ΕΔ
TreeSitter
TreeSitter • https://tree-sitter.github.io/tree-sitter/ • ύʔαδΣωϨʔλͱύʔεϥΠϒϥϦ • ֤छϓϩάϥϛϯάݴޠʹରԠ • nvim-treesitterϓϥάΠϯΛ͏͜ͱͰNeovimͷγϯλοΫεϋΠϥ ΠτΛஔ͖͑Մೳ
nvim-treesitter • https://github.com/nvim-treesitter/nvim-treesitter • ࠓݟͨΒNeovim v0.5Ͱಈ͔ͳ͍ͱॻ͍͚ͯ͋ͬͨͲɺͬͯΈͨ ײ͡ಈ͍ͯͦ͏ • NeovimͷγϯλοΫεϋΠϥΠτ͕ΊͪΌ៉ྷʹͳΔ
Floating Window
Floating Window • Neovimͷ௨ৗͷόοϑΝͷ্ʹΦʔόʔϨΠ͢ΔΟϯυ • API͔Β࡞Ͱ͖Δ • GitͷใLinterͷใΛग़͢ϓϥάΠϯ͕͋Δ
͓·͚ɿVimͱϚεΦʔόʔ
VimͱϚεΦʔόʔ • ࠷ۙͷVimʹʮόϧʔϯʯͱݺΕΔFloating Window૬ͷػೳ ͕͋Γɺ͔͠ϚεΦʔόʔʹରԠ͍ͯ͠Δ • Linterͷܯࠂ͕ग़͍ͯΔՕॴʹϚεΛ͍࣋ͬͯ͘ͱܯࠂͷৄࡉ͕ද ࣔ͞ΕΔ • Neovimʹͳ͍ػೳ