$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
120
Recent Neovim
Masafumi Okura
July 30, 2021
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
Why did my proposals get rejected?
okuramasafumi
1
460
A suggestion for the future of RDoc
okuramasafumi
1
68
15 JSON serializers for Ruby
okuramasafumi
2
120
Tech Events, Should We See Them from the Outside or the Inside?
okuramasafumi
1
43
Creating gems 101
okuramasafumi
1
83
How NOT to make your DSL terrible
okuramasafumi
0
300
オブジェクトしこう
okuramasafumi
2
210
Debugging Alba
okuramasafumi
1
200
Learning Ruby
okuramasafumi
5
560
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
What's in a price? How to price your products and services
michaelherold
243
12k
A designer walks into a library…
pauljervisheath
204
24k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Raft: Consensus for Rubyists
vanstee
136
6.7k
A Philosophy of Restraint
colly
203
16k
For a Future-Friendly Web
brad_frost
175
9.4k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.8k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
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ʹͳ͍ػೳ