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
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
0
790
iOS開発スターターキットの作り方
akidon0000
0
240
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.7k
Flutterと Vibe Coding で個人開発!
hyshu
1
240
画像コンペでのベースラインモデルの育て方
tattaka
3
1.4k
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
5
810
Infer入門
riru
4
1.3k
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
110
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
720
STUNMESH-go: Wireguard NAT穿隧工具的源起與介紹
tjjh89017
0
290
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
21
10k
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
38
11k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
36
6.8k
Visualization
eitanlees
146
16k
Code Review Best Practice
trishagee
69
19k
Code Reviewing Like a Champion
maltzj
524
40k
Speed Design
sergeychernyshev
32
1.1k
BBQ
matthewcrist
89
9.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Typedesign – Prime Four
hannesfritz
42
2.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Scaling GitHub
holman
461
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Bash Introduction
62gerente
614
210k
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ʹهࣄॻ͍͓͖ͯ·ͨ͠