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
coc.nvimを使ってみたらとっても良かった話
Search
Takumi Kawase
September 26, 2019
Programming
3
860
coc.nvimを使ってみたらとっても良かった話
Takumi Kawase
September 26, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
NPOでのDevinの活用
codeforeveryone
0
870
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
230
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
990
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
150
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
1
150
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
880
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
1
560
ふつうの技術スタックでアート作品を作ってみる
akira888
1
1.1k
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
830
効率的な開発手段として VRTを活用する
ishkawa
0
150
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
780
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
299
21k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Being A Developer After 40
akosma
90
590k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
It's Worth the Effort
3n
185
28k
Statistics for Hackers
jakevdp
799
220k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Unsuck your backbone
ammeep
671
58k
Why Our Code Smells
bkeepers
PRO
336
57k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Transcript
coc.nvimΛͬͯΈͨΒ ͱͬͯྑ͔ͬͨ Takumi Kawase gorilla.vim#8
w ɹ࣮ M2ੑཧʢܭࢉʣ 20ଔΤϯδχΞ • TypeScript(React, Vue) • Go(backend) •
Python(Deep Learning) • C++(Competitive Programming) @coil_msp123 vimྺແବʹ5,6͘Β͍ ݱࡏneovim
Background neovim 0.4Ξοϓσʔτ ิ͕ޮ͔ͳ͘ͳͬͨ ͕ɺfloating windowࢼ͍ͨ͠ʜ ͚Ͳʂิػೳ͕͑ͳ͍ͷࠔΔ υοτΛଧͬͯԿදࣔ͞Εͳ͍ʂʢ࠶ݱਤʣ ˞ࠓಈͬ͘Ά͍Ͱ͢
1VSQPTF ͔ͤͬ͘ͷػձͩ͠ଞͷϓϥάΠϯΛࢼͯ͠ΈΔ ͦ͏͍͑coc.nvimͬͯͷ͕ྑ͍Β͍͠ ˢͱΓ͋͑ͣग़͓ͯ͘͠ͱઆಘྗ͕͋Δؾ͕͢ΔϠπ
Result w ಛʹྑ͔ͬͨ w ʢ૬ରతʹʣಋೖָ͕ w ֦ுػೳͷαϙʔτ w ઃఆ͕KTPOͰهड़Մೳ w
։ൃݴޠ͕TypeScript w ѱ͍ʁ w ػೳ͕ଟͯ͘Ѳ͕େม
ิ༻ϑϨʔϜϫʔΫ -41ΫϥΠΞϯτ deoplete.nvim LanguageClient-Neovim asyncomplete.nvim asyncomplete-lsp.vim vim-lsp coc.nvim coc.nvimͦΕ୯ମͰLSPΛͬͨิ͕ՄೳʹͳΔɻ
coc.nvimͰಠࣗͷ֦ுػೳ͕ΠϯετʔϧՄೳ • coc-python • coc-json • coc-tsserver • coc-rust-analyzer •
coc-vetur • etc… LSPlinterͳͲͷػೳ coc-͔Β࢝·Δ͜ΕΒͷ֦ுػೳΛ :CocInstallίϚϯυͰΠϯετʔϧՄೳ IUUQTXXXOQNKTDPNTFBSDI RLFZXPSET"DPDOWJN ˣ֦ுػೳҰཡͪ͜Β
•vetur →coc-vetur •python-vscode →coc-python •rls-vscode →coc-rls •etc… vs codeͷࢿݯΛvimͰར༻Ͱ͖Δʂ ֦ுػೳͷҰ෦vs
codeͷ֦ுػೳΛforkͨ͠ͷ
None
ઃఆϑΝΠϧcoc-settings.json w coc.nvimͷઃఆ w lspͷઃఆ w ֦ுػೳͷઃఆ ˡcoc-json͕͋Δͱશͯิ :CocConfigίϚϯυͰ։͘
4VNNBSZ DPDOWJN͍͍ͧ
Appendix ༷ʑͳιʔεΛҰཡͰදࣔͯ͠ ͍͋·͍ݕࡧͰߜΓࠐΊΔίϚϯυ :CocList :CocList symbols :CocList sources ͳͲιʔεΛࢦఆ͢Δ͜ͱՄೳ
ߋʹ֦ுػೳͷcoc-listsΛΠϯετʔϧ͢Δ͜ͱͰ ϑΝΠϧόοϑΝͳͲιʔεʹͰ͖Δʂ
ิ͚ͩ͡Όͳ͍LSP ྫ͑ ctagsΛ͑ఆٛͷδϟϯϓͰ͖Δʜ ͚ͲҰൃͰਖ਼͍͠ఆٛʹඈΔͱݶΒͳ͍ ͦΕʹࢀরͷδϟϯϓ͍ͨ͠ˠgtags
LSPͰ ఆٛͷҠಈࢀরͷҠಈ͕αϙʔτ ˢcoc.nvimͷ߹ ެࣜͷઃఆ ͜ΕWTDPEFͰʜʁ
IUUQTRJJUBDPNDPJM@NTQJUFNTEFCEEBGB Qiitaʹهࣄॻ͍͓͖ͯ·ͨ͠