0

I recently switched from vim to neovim. I have been struggling with the behaviour of neovim while editing which is at times different from that of vim.

I have the following keybinding

vim.keymap.set("i", "[]", "{}<Esc>ha", { noremap = true })

Now when I press [ and nothing else, I expect that neovim waits for timeout and the simply write [ on screen.

However, I get a popup showing keybindings that can be executed (see the image below where the popup is just above lualine).

enter image description here

I do not want to see it. It just breaks the flow.

I do not know if this is due to a plugin that I installed.

Following is the list of plugins installed using lazy.

local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system {
    'git',
    'clone',
    '--filter=blob:none',
    'https://github.com/folke/lazy.nvim.git',
    '--branch=stable', -- latest stable release
    lazypath,
  }
end
vim.opt.rtp:prepend(lazypath)

-- NOTE: Here is where you install your plugins.

-- You can configure plugins using the config key.

-- You can also configure plugins after the setup call, -- as they will be available in your neovim runtime. require('lazy').setup({ -- NOTE: First, some plugins that don't require any configuration

-- Git related plugins 'tpope/vim-fugitive', 'tpope/vim-rhubarb',

-- Detect tabstop and shiftwidth automatically 'tpope/vim-sleuth',

-- NOTE: This is where your plugins related to LSP can be installed. -- The configuration is done below. Search for lspconfig to find it below. { -- LSP Configuration & Plugins 'neovim/nvim-lspconfig', dependencies = { -- Automatically install LSPs to stdpath for neovim { 'williamboman/mason.nvim', config = true }, 'williamboman/mason-lspconfig.nvim',

  -- Useful status updates for LSP
  -- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
  { 'j-hui/fidget.nvim', opts = {} },

  -- Additional lua configuration, makes nvim stuff amazing!
  'folke/neodev.nvim',
},

},

{ -- Autocompletion 'hrsh7th/nvim-cmp', dependencies = { { "SmiteshP/nvim-navbuddy", dependencies = { "SmiteshP/nvim-navic", "MunifTanjim/nui.nvim" }, opts = { lsp = { auto_attach = true } } }, -- Snippet Engine & its associated nvim-cmp source 'L3MON4D3/LuaSnip', 'saadparwaiz1/cmp_luasnip',

  -- Adds LSP completion capabilities
  'hrsh7th/cmp-nvim-lsp',
  'hrsh7th/cmp-buffer',
  'hrsh7th/cmp-path'
  -- Adds a number of user-friendly snippets
  --'rafamadriz/friendly-snippets',
},

},

-- Useful plugin to show you pending keybinds. { 'folke/which-key.nvim', opts = {} }, { -- Adds git releated signs to the gutter, as well as utilities for managing changes 'lewis6991/gitsigns.nvim', opts = { -- See :help gitsigns.txt signs = { add = { text = '+' }, change = { text = '~' }, delete = { text = '_' }, topdelete = { text = '‾' }, changedelete = { text = '~' }, }, on_attach = function(bufnr) vim.keymap.set('n', '<leader>gp', require('gitsigns').prev_hunk, { buffer = bufnr, desc = '[G]o to [P]revious Hunk' }) vim.keymap.set('n', '<leader>gn', require('gitsigns').next_hunk, { buffer = bufnr, desc = '[G]o to [N]ext Hunk' }) vim.keymap.set('n', '<leader>ph', require('gitsigns').preview_hunk, { buffer = bufnr, desc = '[P]review [H]unk' }) end, }, },

{ -- Theme inspired by Atom 'navarasu/onedark.nvim', priority = 1000, config = function() vim.cmd.colorscheme 'onedark' end, },

{ -- Set lualine as statusline 'nvim-lualine/lualine.nvim', -- See :help lualine.txt opts = { options = { icons_enabled = false, theme = 'onedark', component_separators = '|', section_separators = '', }, }, },

{ -- Add indentation guides even on blank lines 'lukas-reineke/indent-blankline.nvim', -- Enable lukas-reineke/indent-blankline.nvim -- See :help indent_blankline.txt opts = { char = '┊', show_trailing_blankline_indent = false, }, },

-- "gc" to comment visual regions/lines { 'numToStr/Comment.nvim', opts = {} },

-- Fuzzy Finder (files, lsp, etc) { 'nvim-telescope/telescope.nvim', branch = '0.1.x', dependencies = { 'nvim-lua/plenary.nvim' } },

-- Fuzzy Finder Algorithm which requires local dependencies to be built. -- Only load if make is available. Make sure you have the system -- requirements installed. { 'nvim-telescope/telescope-fzf-native.nvim', -- NOTE: If you are having trouble with this installation, -- refer to the README for telescope-fzf-native for more instructions. build = 'make', cond = function() return vim.fn.executable 'make' == 1 end, },

{ -- Highlight, edit, and navigate code 'nvim-treesitter/nvim-treesitter', dependencies = { 'nvim-treesitter/nvim-treesitter-textobjects', }, build = ':TSUpdate', },

'eddyekofo94/gruvbox-flat.nvim', 'lunarvim/darkplus.nvim', 'nvim-tree/nvim-tree.lua', dependencies = { 'nvim-tree/nvim-web-devicons', }, { 'rose-pine/neovim', name = 'rose-pine' }, 'github/copilot.vim', {'akinsho/toggleterm.nvim', version = "*", config = true}, --'lervag/vimtex', }, {})

D. Ben Knoble
  • 26,070
  • 3
  • 29
  • 65
caffeinemachine
  • 431
  • 5
  • 13

0 Answers0