Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Recent Neovim

110cd4dcaed019b3bd9809e541afdeb6?s=47 Masafumi Okura
July 30, 2021
85

Recent Neovim

110cd4dcaed019b3bd9809e541afdeb6?s=128

Masafumi Okura

July 30, 2021
Tweet

Transcript

  1. ࠷ۙͷNeovim͸ ͜Μͳײͬ͡Ά͍Α ੺ẂנϥΠτχϯάτʔΫʢAkarenga.LTʣ ୈ10ճ OKURA Masafumi, 2021-07-30

  2. ࣗݾ঺հ • ໊લɿେ૔խ࢙ • ॴଐɿϑϦʔϥϯε • ಘҙͳݴޠɿRuby • ࢖͍ͬͯΔΤσΟλɿNeovim •

    ՝֎׆ಈɿKaigi on Rails, ʰϚελϦϯάVimʱ຋༁
  3. ࠓ೔ͷςʔϚ

  4. Neovim

  5. Neovimͱ͸ • https://neovim.io/ • ݹ͔͘Β͋ΔΤσΟλͰ͋ΔVimͷϑΥʔΫ • LuaΛ࠾༻֦ͨ͠ுੑͷߴ͕͞΢Ϧ • 2021೥࣌఺Ͱ͸Vimͱҟͳͬͨํ޲ʹਐԽ͍ͯ͠Δ

  6. ࠷ۙͷNeovimࣄ৘ • LSPʢLanguage Server Protocolʣͷ૊ΈࠐΈ • TreeSitterͷద༻ʹΑΔ֦ு͞ΕͨγϯλοΫεϋΠϥΠτ • Floating WindowʹΑΔUIͷࣗ༝౓ͷߴ͞

  7. LSP

  8. LSP • https://microsoft.github.io/language-server-protocol/ • Microsoft͕։࢝ͨ͠ΤσΟλͷͨΊͷϓϩτίϧ • ิ׬ީิͷఏڙ΍ϦωʔϜػೳͳͲɺ༷ʑͳػೳΛඋ͑Δ • NeovimͰ͸ݱ࣌఺Ͱͷ࠷৽൛Ͱ͋Δv0.5ΑΓωΠςΟϒʹαϙʔτ ͞ΕΔ

  9. TreeSitter

  10. TreeSitter • https://tree-sitter.github.io/tree-sitter/ • ύʔαδΣωϨʔλͱύʔεϥΠϒϥϦ • ֤छϓϩάϥϛϯάݴޠʹରԠ • nvim-treesitterϓϥάΠϯΛ࢖͏͜ͱͰNeovimͷγϯλοΫεϋΠϥ ΠτΛஔ͖׵͑Մೳ

  11. nvim-treesitter • https://github.com/nvim-treesitter/nvim-treesitter • ࠓݟͨΒNeovim v0.5Ͱ͸ಈ͔ͳ͍ͱॻ͍͚ͯ͋ͬͨͲɺ࢖ͬͯΈͨ ײ͡ಈ͍ͯͦ͏ • NeovimͷγϯλοΫεϋΠϥΠτ͕ΊͪΌ៉ྷʹͳΔ

  12. Floating Window

  13. Floating Window • Neovimͷ௨ৗͷόοϑΝͷ্ʹΦʔόʔϨΠ͢Δ΢Οϯυ΢ • API͔Β࡞੒Ͱ͖Δ • Gitͷ৘ใ΍Linterͷ৘ใΛग़͢ϓϥάΠϯ͕͋Δ

  14. ͓·͚ɿVimͱϚ΢εΦʔόʔ

  15. VimͱϚ΢εΦʔόʔ • ࠷ۙͷVimʹ͸ʮόϧʔϯʯͱݺ͹ΕΔFloating Window૬౰ͷػೳ ͕͋Γɺ͔͠΋Ϛ΢εΦʔόʔʹରԠ͍ͯ͠Δ • Linterͷܯࠂ͕ग़͍ͯΔՕॴʹϚ΢εΛ͍࣋ͬͯ͘ͱܯࠂͷৄࡉ͕ද ࣔ͞ΕΔ • Neovimʹ͸ͳ͍ػೳ