lspkind-nvim
vscode-like pictograms for neovim lsp completion items [Moved to: https://github.com/onsails/lspkind.nvim] (by onsails)
hop.nvim
Neovim motions on speed! (by hadronized)
lspkind-nvim | hop.nvim | |
---|---|---|
4 | 46 | |
541 | 2,413 | |
- | - | |
6.2 | 2.9 | |
about 2 years ago | 8 months ago | |
Lua | Lua | |
MIT License | 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.
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.
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-07-16.
-
Configurando Neovim para Java
local cmp = require 'cmp'; local lspkind = require 'lspkind' cmp.setup({ snippet = { expand = function(args) require('luasnip').lsp_expand(args.body) end }, mapping = cmp.mapping.preset.insert({ ['C-Space'] = cmp.mapping.complete(), [''] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), }), sources = cmp.config.sources({ { name = 'nvim_lsp' }, { name = 'buffer' }, }), formatting = { format = lspkind.cmp_format({ mode = 'symbol', -- show only symbol annotations maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) ellipsis_char = '...', -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) -- 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 }) } }) require('jdtls').start_or_attach(config)
-
Neovim - Workflow para Java, C# e JS/TypeScript (Atualização com Neovim 0.8 e LSP)
lspkind-nvim: plugin para adicionar ícones nas entidades de LSP (classe, método, snippet, etc) igual ao VS Code.
-
My Neovim setup for React, TypeScript, Tailwind CSS, etc
onsails/lspkind-nvim - VSCode-like pictograms
-
CMP acting up
local cmp_status_ok, cmp = pcall(require, "cmp") if not cmp_status_ok then return end local lspkind_status_ok, lspkind = pcall(require, "lspkind") if not lspkind_status_ok then return end local check_backspace = function() local col = vim.fn.col(".") - 1 return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") end local source_mapping = { nvim_lsp = "[LSP]", cmp_tabnine = "[TN]", buffer = "[Buffer]", path = "[Path]", } cmp.setup({ mapping = { [""] = cmp.mapping.select_prev_item(), [""] = cmp.mapping.select_next_item(), [""] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }), [""] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }), [""] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }), [""] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `` mapping. [""] = cmp.mapping({ i = cmp.mapping.abort(), c = cmp.mapping.close(), }), -- Accept currently selected item. If none selected, `select` first item. -- Set `select` to `false` to only confirm explicitly selected items. [""] = cmp.mapping.confirm({ select = true }), [""] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() else fallback() end end, { "i", "s" }), [""] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_prev_item() else fallback() end end, { "i", "s" }), }, formatting = { fields = { "kind", "abbr", "menu" }, format = lspkind.cmp_format({ mode = "symbol_text", -- options: 'text', 'text_symbol', 'symbol_text', 'symbol' maxwidth = 40, -- 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) vim_item.kind = lspkind.presets.default[vim_item.kind] local menu = source_mapping[entry.source.name] if entry.source.name == "cmp_tabnine" then if entry.completion_item.data ~= nil and entry.completion_item.data.detail ~= nil then menu = entry.completion_item.data.detail .. " " .. menu end vim_item.kind = "" end vim_item.menu = menu return vim_item end, }), }, sources = { { name = "nvim_lsp" }, { name = "cmp_tabnine" }, { name = "buffer" }, { name = "path" }, }, confirm_opts = { behavior = cmp.ConfirmBehavior.Replace, select = false, }, experimental = { ghost_text = false, }, }) local tabnine = require("cmp_tabnine.config") tabnine:setup({ max_lines = 1000, max_num_results = 20, sort = true, run_on_every_keystroke = true, snippet_placeholder = "..", ignored_file_types = { -- default is not to ignore -- uncomment to ignore in lua: -- lua = true }, show_prediction_strength = true, })
hop.nvim
Posts with mentions or reviews of hop.nvim.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-26.
-
hardtime.nvim - A Neovim plugin helping you establish good command workflow and habit
Personally I like to just hop using the hop plugin: https://github.com/phaazon/hop.nvim
-
Using hop.nvim on empty line breaks plugin (bug?)
I am using hop.nvim and hop.nvim works great most of the time except when I'm on an empty line. Suppose I'm editing this snippet and ^ represents my cursor
-
Rapidly selecting/copying in kitty?
I waas thinking about something ala https://github.com/phaazon/hop.nvim to do fast selections, f.e.: -Entering visual mode or a specific mode -Search for f.e. 2 characters -Getting "hints" (like in vimium) for the matches -Being able to select and copy the hinted matches and being able to chose to either yank a line, a word, a url... etc
- Question regarding vertical movement
- Neovim - Workflow para Java, C# e JS/TypeScript (Atualização com Neovim 0.8 e LSP)
-
Quick tip: One keymap can save you from using multiple plugins
So I was previously using a bunch of plugins to be able to move between frequently used block delimiters "(){}...", things like Vim-matchup or Nvim-treesitter-textobjects. However, i had the sudden realization that what I was really doing was hopping between block delimiters most of the time, so I uninstalled all of them and created a keymap that works faster and requires only one plugin Hop.nvim, which I already use to obtain EasyMotion like movements. Here's the keymap, you can customize it to your liking to add common characters where you hop to (be careful as it is not a regular regex expression):
- Always Pin Your Neovim Plugins
- (Neo)Vim motions on speed
-
sneak vs lightspeed vs vanilla
I prefer to use Hop with :HopWord. It just highlight every word in buffer. f({char}) ({char})
-
Launch a `/` search only in the visible part of a buffer
If you are interested in a plugin solution, there is HopPattern in https://github.com/phaazon/hop.nvim
What are some alternatives?
When comparing lspkind-nvim and hop.nvim you can also consider the following projects:
cmp-nvim-lsp - nvim-cmp source for neovim builtin LSP client
lightspeed.nvim - deprecated in favor of leap.nvim
lspsaga.nvim - improve neovim lsp experience [Moved to: https://github.com/nvimdev/lspsaga.nvim]
leap.nvim - Neovim's answer to the mouse 🦘
vscode-codicons - The icon font for Visual Studio Code
vim-easymotion - Vim motions on speed!
nvim-lspconfig - Quickstart configs for Nvim LSP
vim-sneak - The missing motion for Vim :athletic_shoe:
nvim-compe - Auto completion Lua plugin for nvim
AceJump - 🅰️ single character search, select, and jump
nlsp-settings.nvim - A plugin for setting Neovim LSP with JSON or YAML files
vim-dadbod-ui - Simple UI for https://github.com/tpope/vim-dadbod
lspkind-nvim vs cmp-nvim-lsp
hop.nvim vs lightspeed.nvim
lspkind-nvim vs lspsaga.nvim
hop.nvim vs leap.nvim
lspkind-nvim vs vscode-codicons
hop.nvim vs vim-easymotion
lspkind-nvim vs nvim-lspconfig
hop.nvim vs vim-sneak
lspkind-nvim vs nvim-compe
hop.nvim vs AceJump
lspkind-nvim vs nlsp-settings.nvim
hop.nvim vs vim-dadbod-ui