HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
neoclide
coc.nvim
TypeScript2018–2024
neoclide / coc.nvim

coc.nvim

Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

55Distinct people
61Mentions
2Explicit recommenders
25.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

For anyone who is new to vim and wants a more-or-less OOTB auto-complete, auto-format experience, I recommend https://github.com/neoclide/coc.nvim As for neovim, personally, I…

ducktective used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year61 dated mentions

Observed mentions: 2018-11-22 11:59:29 UTC to 2024-04-21 19:13:07 UTC.

051015202018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 8 mentions; 2 submissions, 6 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 21 mentions; 1 submissions, 20 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 15 mentions; 2 submissions, 13 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 9 mentions; 1 submissions, 8 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC321
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC826
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC21120
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC15213
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC918
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC404
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Make your Vim/Neovim as smart as VS Code Visit cocnvim.com coc.nvim is an IntelliSense engine for Vim and Neovim. It brings VS Code-like completion, diagnostics, navigation, refactoring, and extension support to both editors through a Node.js service. Quick start See Install coc.nvim for installation instructions and example Vim and Neovim configurations. Try coc.nvim in your browser. Sponsors Contributors Qiming zhao 💻 Heyward Fann 💻 Raidou 💻 kevinhwang91 💻 年糕小豆汤 💻 Avi Dessauer 💻 最上川 💻 Yatao Li 💻 wongxy 💻 Sam McCall 💻 Samuel Roeca 💻 Amirali Esmaeili 💻 Jack Rowlingson 💻 Jaehwang Jung 💻 Antoine 💻 Cosmin Popescu 💻 Duc Nghiem Xuan 💻 Francisco Lopes 💻 daquexian 💻 dependabot[bot] 💻 greenkeeper[bot] 💻 Chris Kipp 💻 Dmytro Meleshko 💻 Kirill Bobyrev 💻 Gontran Baerts 💻 Andy 💻 Cheng JIANG 💻 Corin 💻 Daniel Zhang 💻 Ferdinand Bachmann 💻 Guangqing Chen 💻 Jade Meskill 💻 Jasper Poppe 💻 Jean Jordaan 💻 Kid 💻 Pieter van Loon 💻 Robert Liebowitz 💻 Seth Messer 💻 UncleBill 💻 ZERO 💻 fsouza 💻 XiaoZhang 💻 whyreal 💻 yehuohan 💻 バクダンくん 💻 Raphael 💻 tbodt 💻 Aaron McDaid 💻 Aasif Versi 💻 Abner Silva 💻 Adam Stankiewicz 💻 Adamansky Anton 💻 Ahmed El Gabri 💻 Alexandr Kondratev 💻 Andrew Shim 💻 Andy Lindeman 💻 Augustin 💻 Bastien Orivel 💻 Ben Lu 💻 Ben 💻 Brendan Roy 💻 brianembry 💻 br 💻 Cason Adams 💻 Chang Y 💻 Chayoung You 💻 Chen Lijun 💻 Chen Mulong 💻 Chris Weyl 💻 dezza 💻 Cody Allen 💻 Damien Rajon 💻 Daniel Eriksson 💻 Daniel Jenson 💻 David Mejorado 💻 Deric Pang 💻 Ding Tao 💻 Doron Behar 💻 Egor Kovetskiy 💻 ElKowar 💻 Emeliov Dmitrii 💻 Fabian Becker 💻 FallenWarrior2k 💻 Fausto Núñez Alberro 💻 Felipe Ramos 💻 Fredrik Borg 💻 Gavin Sim 💻 Gibson Fahnestock 💻 Giovanni Giordano 💻 Gopal Adhikari 💻 Hanh Le 💻 hedy 💻 Hendrik Lammers 💻 Henry Barreto 💻 Hugo 💻 Jackie Li 💻 Jakub Nowak 💻 James Pickard 💻 Jia Sui 💻 Ellie Hermaszewska 💻 Joel Bradshaw 💻 John Carlo Roberto 💻 Jonas Holst Damtoft 💻 Jonathan Lehman 💻 Joosep Alviste 💻 Josa Gesell 💻 Joshua Rubin 💻 Julian Grinblat 💻 Julian Valentin 💻 KabbAmine 💻 Kay Gosho 💻 Kenny Huynh 💻 Kevin Rambaud 💻 Kian Cross 💻 Kristijan Husak 💻 NullVoxPopuli 💻 Lasse Peters 💻 Noel Errenil 💻 LinArcX 💻 Liu-Cheng Xu 💻 Marc 💻 Marius Gawrisch 💻 Mark Hintz 💻 Mathieu Le Tiec 💻 Matt White 💻 Matthew Evans 💻 Me1onRind 💻 Qyriad 💻 Narcis B. 💻 Neur1n 💻 Nicolas Dermine 💻 Noah 💻 PENG Rui 💻 Paco 💻 Peng Guanwen 💻 Petter Wahlman 💻 Pooya Moradi 💻 Quade Morrison 💻 Ralf Vogler 💻 Ran Chen 💻 Ricardo García Vega 💻 Rick Jones 💻 Ryan Christian 💻 Salo 💻 Sam Nolan 💻 Saurav 💻 Sean Mackesey 💻 Sheel Patel 💻 Solomon Ng 💻 Sri Kadimisetty 💻 Stephen Prater 💻 Sune Kibsgaard 💻 Aquaakuma 💻 Takumi Kawase 💻 The Blob SCP 💻 Tomasz N 💻 Tomoyuki Harada 💻 Tony Fettes 💻 Tony Narlock 💻 Tony Wang 💻 Victor Quach 💻 Whisperity 💻 William Turner 💻 Xiaochao Dong 💻 Hugh Hou 💻 Jackie Li 💻 Zachary Freed 💻 akiyosi 💻 alexjg 💻 aste4 💻 clyfish 💻 dev7ba 💻 diartyz 💻 doza-daniel 💻 equal-l2 💻 fong 💻 hexh 💻 hhiraba 💻 ic-768 💻 javiertury 💻 karasu 💻 kevineato 💻 Eduardo Costa 💻 micchy326 💻 midchildan 💻 minefuto 💻 miyanokomiya 💻 miyaviee 💻 monkoose 💻 🐛 mujx 💻 mvilim 💻 naruaway 💻 piersy 💻 ryantig 💻 rydesun 💻 sc00ter 💻 smhc 💻 Sam Kaplan 💻 tasuten 💻 todesking 💻 typicode 💻 李鸣飞 💻 Ikko Ashimine 📖 Rammiah 🐛 Alisue 🐛 bigshans 📖 Robert Boyd III 🐛 Yuki Iwanaga 💻 SpringHack 🐛 Lucas Burns 📖 qiqiboy 💻 timsu92 📖 Shawn M Moore 💻 Aaron U'Ren 🐛 SeniorMars 📖 牧羊犬真Q 📖 geraldspreer 📖 Fabio 📖 Li Yunting 🐛 Jeff L. 💻 Elliot Winkler 💻 Svetlozar Iliev 💻 James Garbutt 💻 Qingzhou Yue 💻 Maarten de Vries 💻 A4-Tacks 💻 forceofsystem 💻 lake 💻 David O'Trakoun 📖 aispeaking 💻 Christian Clauss 💻 Micah Halter 💻 Cristiano De Michele 💻 Yong Jie 💻 Kira Oakley 📖 Merouane Atig 📖 Gerald 💻 Nicklas Sedlock 💻 Adam Tao 💻 itsf4llofstars 📖 Brian Wo 📖 Eric Wong 💻 oxalica 💻 Christian Zangl 💻
Read the full README on GitHub

What Hacker News says

61 sources
> Most of the plugins have docs that can be accessed via (neo)vim itself. Usually you can find all information there. This was something which took some time for me to notice. There are some plugins which have the best documentations I have ever seen, but you need to read it from the Vim. Example of coc.nvim: https://github.com/neoclide/coc.nvim/blob/master/doc/coc.txt and https://github.com/neoclide/coc.nvim/blob/master/doc/coc-con... and https://github.com/neoclide/coc.nvim/blob/master/doc/coc-api...
In LazyVim
FWIU coc.vim works with vim and nvim and works with VSCode LSP support: https://github.com/neoclide/coc.nvim There are many LSP implementations: https://langserver.org/ awesome-neovim Ctrl-F "DAP": https://github.com/rockerBOO/awesome-neovim#lsp mason.nvim: https://github.com/williamboman/mason.nvim : > Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters. conda-forge DAP: Debug Adapter Protocol https://microsoft.github.io/debug-adapter-protocol/implement...
In Show HN: Frogmouth – A Markdown browser for the terminal
If you're looking for IDE-level language assistance, I can't help you, but since you mentioned nvim: I use regular vim with CoC / Conquer of Completion (vim plugin; LSP server, may not strictly be necessary for nvim), Solargraph (Ruby Gem; language server), and Rubocop (also a Gem) for linting. I previously/still use ALE (vim plugin; Asynchronous Lint Engine) because I haven't gotten CoC+Solargraph to play nice with Rubocop, probably due to something silly. https://github.com/neoclide/coc.nvim https://solargraph.org/ https://rubocop.org/ https://github.com/dense-analysis/ale My impression with all of this running under MacVim... it's plenty responsive. It can take a while for Solargraph to index everything on startup if you're working in a big project; once it loads, it's snappy. (There's probably a way to cache that startup scan.)
In Ruby delights built into the language
- I have used vim for many years (15 maybe?), and once you have passed the initial learning curve (not so terrible, after you keep learning cool stuff even after years of use), it's useful for everything with the same shortcuts. I would actually spend more time learning something else like an new IDE. At the end, I have probably saved a lot of time by sticking to (neo)vim instead of following the latest trend. - I like terminals because there is nearly nothing disturbing you, and it's usually quick to have something - there are many little features that looks like nothing but are really really useful when you use them. I'm a big fan of C-a / C-x to increment / decrement a number, coupled with https://github.com/nishigori/increment-activator it's super useful (to change a boolean, a date, a number, etc). The "." to repeat last command, the
Read the rest
"*" to search what is under the cursor are other great features. An occasional macro made with "q" may save a lot of time when you need to do a repetitive task, for refactoring for instance, and you can even repeat them according to some patterns with ":g". I'm not sure if those features have handy equivalents on other IDEs. - I didn't spent that much time doing my config, just adding little changes here and there when necessary, over the years I've got a environment really adapted to my taste. - I'm currently doing mostly Python, and vanilla (neo)vim is normally good enough, but I'm using Coc (https://github.com/neoclide/coc.nvim) for a little while, and it add a lot of helping stuff easily. Pyright + snippets are useful. - when something cool happens somewhere else, you often have somebody adapting it to vim. I can use snippets and emmet which are occasionally very useful. At the end, I don't feel the need to change, it works well, and over the time I could add some neat features to improve it (snippets, emmet, CoC, tagbar, etc). I'm not sure if changing to something like VScodium would worth the time to learn something new (and I like working with terminals).
In Neovim 0.8 Released
I use coc-nvim [0] for my development environment and love it. The VS Code plugin is a great start to get used to vim movement, but eventually you'll run into some limitations that end up being slightly annoying (albeit this was a few years back and those might not exist anymore!). Most of my development is in TypeScript, which has a pretty good language server, so I don't feel like I'm really missing out on any of the "IDE" features that I get in VSCode. I am not a "pure vim" zealot, so I have a decent amount of plugins to bring my environment closer to an "IDE" than "just vim" (eg. NerdTree, fugitive, surround, sneak). I haven't really touched my dotfiles in a year or two outside a few custom keybinds for new workflows I find myself repeating. Getting good at whatever editor you choose to use for your daily development is a good investm
Read the rest
ent. If you're going to choose one, vim is probably a decent choice for how long it's stayed around. [0] https://github.com/neoclide/coc.nvim
In Ask HN: Is switching from VSCode to Vim worth it?

Showing the 15 most recent of 61 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.