$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Recent Neovim
Search
Masafumi Okura
July 30, 2021
0
130
Recent Neovim
Masafumi Okura
July 30, 2021
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
Developing static sites with Ruby
okuramasafumi
0
320
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
200
Why doesn't Ruby have Boolean class?
okuramasafumi
0
35
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
83
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
800
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
32
WCS-LA-2024
lcolladotor
0
390
Context Engineering - Making Every Token Count
addyosmani
9
550
Building the Perfect Custom Keyboard
takai
1
660
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
It's Worth the Effort
3n
187
29k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
260
The SEO identity crisis: Don't let AI make you average
varn
0
36
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Amusing Abliteration
ianozsvald
0
69
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ʹͳ͍ػೳ