Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
coc.nvimを使ってみたらとっても良かった話
Search
Takumi Kawase
September 26, 2019
Programming
3
880
coc.nvimを使ってみたらとっても良かった話
Takumi Kawase
September 26, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
sbt 2
xuwei_k
0
290
SwiftUIで本格音ゲー実装してみた
hypebeans
0
320
Cap'n Webについて
yusukebe
0
130
CSC509 Lecture 14
javiergs
PRO
0
220
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.4k
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
400
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
300
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
WebRTC と Rust と8K 60fps
tnoho
2
2k
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
1
720
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
320
Developing static sites with Ruby
okuramasafumi
0
280
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
500
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Code Reviewing Like a Champion
maltzj
527
40k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Into the Great Unknown - MozCon
thekraken
40
2.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Why Our Code Smells
bkeepers
PRO
340
57k
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ʹهࣄॻ͍͓͖ͯ·ͨ͠