ultisnips VS coc.nvim

Compare ultisnips vs coc.nvim and see what are their differences.

ultisnips

UltiSnips - The ultimate snippet solution for Vim. Send pull requests to SirVer/ultisnips! (by SirVer)

coc.nvim

Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers. (by neoclide)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
ultisnips coc.nvim
64 320
7,425 23,920
- 0.6%
4.9 9.0
about 1 month ago 6 days ago
Python TypeScript
GNU General Public License v3.0 only GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ultisnips

Posts with mentions or reviews of ultisnips. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-21.
  • LaTeX and Neovim for technical note-taking
    10 projects | news.ycombinator.com | 21 Feb 2024
    I always like people's LaTeX-based note taking setups. I'm a mathematician, so I write a lot of LaTeX too. (And I use vim, so I really like vim+Latex workflows).

    It's interesting that this post (or rather, the later post that discusses this) talks about the advantages of UltiSnips. The well-known vim-LaTeX posts written by Gilles Castel (RIP) relied pivotally on UltiSnips.

    It's not just that UltiSnips is a snippet engine. There are many of those (including LuaSnip, the other snippet engine mentioned in the OP series of articles). It's that UltiSnips can dispatch arbitrary expressions to short python code sections, and python has a great scientific library. For example, it's trivial to write a `sympy` snippet that will simplify or compute a given expression and write the output in latex for you.

    But UltiSnips works *terribly* with neovim [1] [2]. Why? Because UltiSnips uses python, and neovim's python interface is 100x slower than vim's python interface. There are design decisions for this and I'm not trying to say that neovim is bad. I use both vim and neovim. But I use vim+UltiSnips+vimtex for writing LaTeX.

    LuaSnip has interpolation too. I suppose it would be possible to write more code that calls from LuaSnip to a system like sympy (or other). But that's work. On the other hand, I think it takes a true power user to actually want or use the fancy interpolation functions.

    [1]: https://github.com/SirVer/ultisnips/issues/974

  • Looking for tutorials / Hello world projects to create Neovim plugins using Pynvim
    4 projects | /r/neovim | 10 Dec 2023
    I think in-the-wild examples like Ultisnips deoplete semshi (although they are advanced and somewhat complex) would also be good examples to learn how one can use python for writing plugins.
  • UltiSnips – Snippet Solution for Vim
    3 projects | news.ycombinator.com | 16 Aug 2023
  • lsp-zero v2.x is now available
    4 projects | /r/neovim | 23 Apr 2023
    I didn't know lsp-zero, but this integration seems just for me except for that I am using UltiSnips instead of luasnip. Just curious how difficult do you think it is to add UltiSnips integration along with cmp-nvim-ultisnips?
  • Minimalistic neovim/vim with batteries included ?
    4 projects | /r/neovim | 18 Apr 2023
  • How to solve this? (Ultisnippets plugin)
    1 project | /r/vim | 15 Mar 2023
  • Awkwardness when typing in '\n' or '\t' or (...) [...] etc. -- (Have others noticed this too?) -- (is there a better way?)
    4 projects | /r/vim | 17 Feb 2023
    If you use UltiSnips, you can just do this:
  • Vim + LaTeX
    4 projects | /r/vim | 11 Feb 2023
    Snipets or code completion can be done in a number of different ways, and how that is configured will depend on what method you use. In the blog he uses the vim plugin ultisnips. You'll find details on configuration for that in that link.
  • Python36.dll not found
    2 projects | /r/vim | 6 Jan 2023
    Heyo, I've been trying to get UltiSnips and YouCompleteMe to work, however, I've ran into a bit of a problem. The python36.dll library does not seem to exist for UltiSnips, and YouCompleteMe cannot locate python at all (screenshots at bottom).
  • SirVer/ultisnips: UltiSnips - The ultimate snippet solution for Vim. Send pull requests to SirVer/ultisnips!
    1 project | /r/devel | 1 Jan 2023

coc.nvim

Posts with mentions or reviews of coc.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-21.
  • I can't stand using VSCode so I wrote my own (it wasn't easy)
    10 projects | news.ycombinator.com | 21 Apr 2024
    As well as its own plugins Vim/NeoVim can use VSCode's LSPs, DAPs and extensions either directly or via plugins like CoC[1] and Mason[2].

    I would be surprised if emacs couldn't do the same.

    1. https://github.com/neoclide/coc.nvim

  • Existing non-lua plugins examples
    8 projects | /r/neovim | 6 Dec 2023
    The most famous TypeScript one probably is coc.nvim
  • ready to use neovim for web development (frontend) - beginners
    4 projects | /r/neovim | 5 Dec 2023
    It is flatly the wrong mindset to think of vim as an IDE. vim is a code editor: get in, make change, get out. Consider vim koans, which are a fun little read. You can throw coc.nvim at Neovim, along with a few other bits to give you a Good Enough setup, but vim isn't and will never be an IDE.
  • Using CoC inlay hints
    1 project | /r/vim | 11 Nov 2023
    I just did a fresh reinstall of CoC, on a newer version of Neovim. I'm now seeing something I hadn't seen before, which CoC calls "inlay hints". They look like this:
  • C# lsp configuration with neovim CoC
    4 projects | /r/neovim | 10 Nov 2023
    I'm currently on an old setup (using coc and polyglot) and nvim v0.6.1. I'll be updating to a more modern setup within next year, using the native lsp and building nvim more frequently. But that's not today.
  • Does anyone know some good altermatives for these Vim plugins on Emacs?
    3 projects | /r/emacs | 18 Jul 2023
    coc.nvim
  • LazyVim
    32 projects | news.ycombinator.com | 16 Jul 2023
    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

  • Resources on learning bash scripting
    5 projects | /r/bash | 4 Jul 2023
    Actually you can with coc.nvim & coc-sh. So long as shellcheck is also installed and in PATH, it'll integrate with coc/vim just fine.
  • how to set up coc.nvim extension on offline machine?
    2 projects | /r/vim | 7 Jun 2023
    When you install an extension it runs an npm install or yarn, iirc, which is going to be problematic for you being offline. I was going to say you could copy that ~/.config/coc folder directly to the other machine but yeah, Windows, no idea. You see here https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions
  • GCC autocompletion
    2 projects | /r/vim | 30 May 2023
    You can try https://github.com/neoclide/coc.nvim, the pre-requisite is to install nodeJS, then to install all the languages LSP. This works for me for Angular, Rust, JavaScript, Vimscript, etc

What are some alternatives?

When comparing ultisnips and coc.nvim you can also consider the following projects:

LuaSnip - Snippet Engine for Neovim written in Lua.

YouCompleteMe - A code-completion engine for Vim

vim-vsnip - Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format.

vim-lsp - async language server protocol plugin for vim and neovim

completion-nvim - A async completion framework aims to provide completion to neovim's built in LSP written in Lua

nvim-treesitter - Nvim Treesitter configurations and abstraction layer

friendly-snippets - Set of preconfigured snippets for different languages.

nvim-cmp - A completion plugin for neovim coded in Lua.

emmet-vim - emmet for vim: http://emmet.io/

nvim-lspconfig - Quickstart configs for Nvim LSP

LunarVim - 🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.