Slide 1

Slide 1 text

coc.nvimΛ࢖ͬͯΈͨΒ ͱͬͯ΋ྑ͔ͬͨ࿩ Takumi Kawase gorilla.vim#8

Slide 2

Slide 2 text

w ઒੉ɹ୓࣮ M2෺ੑཧ࿦ʢ਺஋ܭࢉʣ 20ଔΤϯδχΞ • TypeScript(React, Vue) • Go(backend) • Python(Deep Learning) • C++(Competitive Programming) @coil_msp123 vimྺ͸ແବʹ5,6೥͘Β͍ ݱࡏ͸neovim೿

Slide 3

Slide 3 text

Background neovim 0.4΁Ξοϓσʔτ ิ׬͕ޮ͔ͳ͘ͳͬͨ ͕ɺfloating window͸ࢼ͍ͨ͠ʜ ͚Ͳʂิ׬ػೳ͕࢖͑ͳ͍ͷ͸ࠔΔ υοτΛଧͬͯ΋Կ΋දࣔ͞Εͳ͍ʂʢ࠶ݱਤʣ ˞ࠓ͸ಈͬ͘Ά͍Ͱ͢

Slide 4

Slide 4 text

1VSQPTF ͔ͤͬ͘ͷػձͩ͠ଞͷϓϥάΠϯΛࢼͯ͠ΈΔ ͦ͏͍͑͹coc.nvimͬͯͷ͕ྑ͍Β͍͠ ˢͱΓ͋͑ͣग़͓ͯ͘͠ͱઆಘྗ͕͋Δؾ͕͢ΔϠπ

Slide 5

Slide 5 text

Result w ಛʹྑ͔ͬͨ఺ w ʢ૬ରతʹʣಋೖָ͕ w ֦ுػೳͷαϙʔτ w ઃఆ͕KTPOͰهड़Մೳ w ։ൃݴޠ͕TypeScript w ѱ͍఺ʁ w ػೳ͕ଟͯ͘೺Ѳ͕େม

Slide 6

Slide 6 text

ิ׬༻ϑϨʔϜϫʔΫ -41ΫϥΠΞϯτ deoplete.nvim LanguageClient-Neovim asyncomplete.nvim asyncomplete-lsp.vim vim-lsp coc.nvim coc.nvim͸ͦΕ୯ମͰLSPΛ࢖ͬͨิ׬͕ՄೳʹͳΔɻ

Slide 7

Slide 7 text

coc.nvimͰ͸ಠࣗͷ֦ுػೳ͕ΠϯετʔϧՄೳ • coc-python • coc-json • coc-tsserver • coc-rust-analyzer • coc-vetur • etc… LSP΍linterͳͲͷػೳ coc-͔Β࢝·Δ͜ΕΒͷ֦ுػೳΛ :CocInstallίϚϯυͰΠϯετʔϧՄೳ IUUQTXXXOQNKTDPNTFBSDI RLFZXPSET"DPDOWJN ˣ֦ுػೳҰཡ͸ͪ͜Β

Slide 8

Slide 8 text

•vetur →coc-vetur •python-vscode →coc-python •rls-vscode →coc-rls •etc… vs codeͷࢿݯΛvimͰར༻Ͱ͖Δʂ ֦ுػೳͷҰ෦͸vs codeͷ֦ுػೳΛforkͨ͠΋ͷ

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

ઃఆϑΝΠϧcoc-settings.json w coc.nvimͷઃఆ w lspͷઃఆ w ֦ுػೳͷઃఆ ˡcoc-json͕͋Δͱશͯิ׬ :CocConfigίϚϯυͰ։͘

Slide 11

Slide 11 text

4VNNBSZ DPDOWJN͸͍͍ͧ

Slide 12

Slide 12 text

Appendix ༷ʑͳιʔεΛҰཡͰදࣔͯ͠ ͍͋·͍ݕࡧͰߜΓࠐΊΔίϚϯυ :CocList :CocList symbols :CocList sources ͳͲ௚઀ιʔεΛࢦఆ͢Δ͜ͱ΋Մೳ

Slide 13

Slide 13 text

ߋʹ֦ுػೳͷcoc-listsΛΠϯετʔϧ͢Δ͜ͱͰ ϑΝΠϧ΍όοϑΝͳͲ΋ιʔεʹͰ͖Δʂ

Slide 14

Slide 14 text

ิ׬͚ͩ͡Όͳ͍LSP ྫ͑͹ ctagsΛ࢖͑͹ఆٛ΁ͷδϟϯϓ͸Ͱ͖Δʜ ͚ͲҰൃͰਖ਼͍͠ఆٛʹඈ΂Δͱ͸ݶΒͳ͍ ͦΕʹࢀর΁ͷδϟϯϓ΋͍ͨ͠ˠgtags

Slide 15

Slide 15 text

LSPͰ͸ ఆٛ΁ͷҠಈ΍ࢀর΁ͷҠಈ͕αϙʔτ ˢcoc.nvimͷ৔߹ ެࣜͷઃఆ ͜Ε͸΋͸΍WTDPEFͰ͸ʜʁ

Slide 16

Slide 16 text

IUUQTRJJUBDPNDPJM@NTQJUFNTEFCEEBGB Qiitaʹهࣄॻ͍͓͖ͯ·ͨ͠