vim-vsnip VS lspkind.nvim

Compare vim-vsnip vs lspkind.nvim and see what are their differences.

vim-vsnip

Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format. (by hrsh7th)

lspkind.nvim

vscode-like pictograms for neovim lsp completion items (by onsails)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
vim-vsnip lspkind.nvim
30 14
854 1,322
- -
4.1 6.1
4 months ago 4 months ago
Vim Script Lua
MIT License MIT License
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.

vim-vsnip

Posts with mentions or reviews of vim-vsnip. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-26.
  • Setting Up Razor Support in Neovim for Enhanced C# Development
    2 projects | dev.to | 26 Jan 2024
  • UltiSnips – Snippet Solution for Vim
    3 projects | news.ycombinator.com | 16 Aug 2023
    My go to these days has been https://github.com/hrsh7th/vim-vsnip. It is compatible with LSP and VSCode snippet format. Since it is in pure VimScript you don’t need to battle configuring python just to get the plug-in to work.
  • UltiSnips to LuaSnip converter
    5 projects | /r/neovim | 6 Jan 2023
    I first started by reading some tutorials but most of those used parser combinators. For me, parser combinators always caused some issues sooner or later (at least in Lua when trying to parse recursive / nested nodes). An example project that uses this technique is vim-vsnip: https://github.com/hrsh7th/vim-vsnip/blob/master/autoload/vsnip/snippet/parser.vim. Later, I found out that Luacheck uses a different approach which I liked better: https://github.com/lunarmodules/luacheck/blob/master/src/luacheck/parser.lua. That's the project that helped me the most while writing my own parsers for different snippet engines.
  • Template in C++
    8 projects | /r/neovim | 12 Sep 2022
    This plugin could use it? hrsh7th/vim-vsnip
  • Neovim, LSP and AWS Cloudformation Autocomplete
    6 projects | /r/neovim | 28 Jun 2022
    I am not a snippets expert, I don't even currently use snippets. However, I know that both LuaSnip and vim-vsnip can load these vscode style snippets. So my recommendation would be to get the snippets and use one of those two snippet plugins.
  • Help with autocompletion of html tags in React.
    4 projects | /r/neovim | 18 May 2022
  • Neovim for screenplay writing
    9 projects | /r/neovim | 1 May 2022
    For autocompletion I use the nvim-cmp plugin. If you're not coding, it might be overkill. But during writing it helps me a lot, because it autosuggests words that I used in the current buffer, too. The most popular autocomplete plugins should be compatible with the most popular snippets engines like vim-vsnip.
  • The Must-Have Neovim Plugins for Julia
    12 projects | dev.to | 20 Jan 2022
    Have you ever wondered how to have a snippet completion in VSCode so you can write Julia code fast but in Neovim? Fear not! vim-vsnip is the plugin you need. This plugin supports LSP/VSCode's snippet format. But first, you need to install cmp-vsnip for this plugin to be sourced to nvim-cmp. Oh btw, these three plugins: nvim-cmp, vim-vsnip, and cmp-vsnip β†’ are made by the same person which is actually cool! If you want to support them, become a sponsor! (I am poor so I cannot sponsor yet πŸ˜”)
  • TSServer Snippets
    4 projects | /r/neovim | 6 Jan 2022
    I believe you want the second variant. Then you should install some snippet plugin like vsnip or luasnip and config it with your completion engine.
  • Anyone using Neovim for Drupal development?
    2 projects | /r/neovim | 8 Dec 2021
    https://github.com/hrsh7th/vim-vsnip says it supports vscode style snippets, so apparently you could use https://marketplace.visualstudio.com/items?itemName=kaffeine.advanced-drupal-8-snippets with that plugin.

lspkind.nvim

Posts with mentions or reviews of lspkind.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-07.
  • I do love neovim!
    5 projects | /r/neovim | 7 Feb 2023
    There's a cmp-icons plugin: https://github.com/onsails/lspkind.nvim and also you can see the cmp documentation inside vim running :h cmp I spend many hours reading each plugin documentation to customize all my plugins. I hope I've helped.
  • Trouble Getting Icons To Show Properly
    1 project | /r/neovim | 29 Sep 2022
    If you are referring specifically to icons in your autocompletion suggestions menu you have to set it to use them. This can be achieved manually with the format key in the nvim-cmp setup (assuming you are using nvim-cmp) or with a plugin like lspkind.nvim
  • What are the best vim plugins for Go right now?
    4 projects | /r/golang | 22 Jul 2022
    If you use neovim, you can refer to my init.lua; I use vim-go, lsp and other goodies like lspkind to display vscode-like pictograms.
  • Anyone have autocomplete working with rust-tools, nvm-cmp, etc.?
    6 projects | /r/neovim | 14 Apr 2022
    -- Provide some indication that rust-analyzer is busy! local lsp_status = require('lsp-status') lsp_status.register_progress() -- Basic rust/lsp/cmp settings from https://sharksforarms.dev/posts/neovim-rust/ local nvim_lsp = require('lspconfig') local opts = { tools = { -- rust-tools options autoSetHints = true, hover_with_actions = true, inlay_hints = { show_parameter_hints = false, parameter_hints_prefix = "", other_hints_prefix = "=> ", }, }, -- all the opts to send to nvim-lspconfig -- these override the defaults set by rust-tools.nvim -- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer server = { -- on_attach is a callback called when the language server attachs to the buffer on_attach = lsp_status.on_attach, capabilities = lsp_status.capabilities, settings = { -- to enable rust-analyzer settings visit: -- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc -- and more: https://github.com/simrat39/rust-tools.nvim/wiki/Server-Configuration-Schema ["rust-analyzer"] = { -- enable clippy on save checkOnSave = { command = "clippy" }, } } }, } require('rust-tools').setup(opts) -- Setup Completion -- See https://github.com/hrsh7th/nvim-cmp#basic-configuration -- Used for super-tab functionality local has_words_before = function() local line, col = unpack(vim.api.nvim_win_get_cursor(0)) return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil end local feedkey = function(key, mode) vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) end local lspkind = require('lspkind') local cmp = require'cmp' cmp.setup({ completion = { autocomplete = true }, -- Enable LSP snippets snippet = { expand = function(args) vim.fn["vsnip#anonymous"](args.body) end, }, mapping = { [''] = cmp.mapping.select_prev_item(), [''] = cmp.mapping.select_next_item(), [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.close(), [''] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true, }), -- Add tab support [""] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() elseif vim.fn["vsnip#available"](1) == 1 then feedkey("(vsnip-expand-or-jump)", "") elseif has_words_before() then cmp.complete() else fallback() -- The fallback function sends a already mapped key. In this case, it's probably ``. end end, { "i", "s" }), [""] = cmp.mapping(function() if cmp.visible() then cmp.select_prev_item() elseif vim.fn["vsnip#jumpable"](-1) == 1 then feedkey("(vsnip-jump-prev)", "") end end, { "i", "s" }), }, -- Installed sources sources = { { name = 'nvim_lsp' }, --, trigger_characters={'.', ":"} }, { name = 'vsnip' }, { name = 'path' }, { name = 'buffer' }, { name = 'nvim_lsp_signature_help' }, { name = 'nvim_lsp_document_symbol' }, }, -- Fancy symbols formatting = { format = lspkind.cmp_format({ mode = 'symbol_text', -- show both symbol & text for now maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) -- The function below will be called before any actual modifications from lspkind -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) --before = function (entry, vim_item) --... --return vim_item --end }) }, completion = { autocomplete = true }, })
  • Neovim LSP Setup + Code Completion Engine
    3 projects | dev.to | 22 Oct 2021
    All the snippets, mapping, formatting and sources part in the above code snippet is expalained nicely in the plugin's documentation. For above code to work, you also have to install lspkind which provides awesome icons in the code completions.
  • Lspconfig configuration issues
    3 projects | /r/neovim | 9 Oct 2021
    To style the completion popup, you need to add formatting. Going by the cute little scissors, you probably want to install lsp-kind and add something like this to your cmp.setup
  • Totally confused about completion
    6 projects | /r/neovim | 24 Aug 2021
    https://github.com/onsails/lspkind-nvim (optionally)
  • Looks like the nvim-compe plugin is going to be deprecated, replaced by nvim-cmp (eventually)
    8 projects | /r/neovim | 23 Aug 2021
    I copy pasted the icons from https://github.com/onsails/lspkind-nvim/blob/master/lua/lspkind/init.lua and added the spaces:
  • Is anyone here using neovim for f# programming and could point me to useful plugins, which work with neovim 0.5
    14 projects | /r/fsharp | 27 May 2021
  • Java/Kotlin developers that use NeoVim as their main IDE, recommendations to someone that uses Intellij IDEA for java-dev but nvim for the rest?
    16 projects | /r/neovim | 18 May 2021

What are some alternatives?

When comparing vim-vsnip and lspkind.nvim you can also consider the following projects:

LuaSnip - Snippet Engine for Neovim written in Lua.

cmp-nvim-lsp - nvim-cmp source for neovim builtin LSP client

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

lspsaga.nvim - improve neovim lsp experience [Moved to: https://github.com/nvimdev/lspsaga.nvim]

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

vscode-codicons - The icon font for Visual Studio Code

nvim-compe - Auto completion Lua plugin for nvim

lspsaga.nvim - improve neovim lsp experience

nvim-lspconfig - Quickstart configs for Nvim LSP

vim-emoji-icon-theme - Emoji/Unicode Icons Theme for Vim and Neovim with support for 40+ plugins and 380+ filetypes πŸŽ¨πŸ’™πŸ’›πŸ€πŸ’š

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