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
820
coc.nvimを使ってみたらとっても良かった話
Takumi Kawase
September 26, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Datadog Workflow Automation で圧倒的価値提供
showwin
1
280
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.2k
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
55
19k
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
730
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.2k
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
470
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
2
390
コードを読んで理解するko build
bells17
1
110
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1.1k
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
280
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
160
楽しく向き合う例外対応
okutsu
0
710
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Why Our Code Smells
bkeepers
PRO
336
57k
Statistics for Hackers
jakevdp
797
220k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
We Have a Design System, Now What?
morganepeng
51
7.4k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
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ʹهࣄॻ͍͓͖ͯ·ͨ͠