AstroNvim / AstroNvim

AstroNvim is an aesthetic and feature-rich neovim config that is extensible and easy to use with a great set of plugins
https://AstroNvim.com
GNU General Public License v3.0
12.54k stars 918 forks source link

ii jj and ij exit Insert mode #85

Closed rolflobker closed 2 years ago

rolflobker commented 2 years ago

When typing ii, jj or ij in Insert mode, Insert mode is exited. Does not happen when typing slowly, so I presume it's a timer somewhere

Verified on two installs , 1 clean Manjaro with new Nvim 0.6 and Astrovim plus only requirements

Found that disabling utils.compiled() in init.lua stops this from happening

Not sure where to go from here in order to 'fix' this Probably related to one of the plugins, not a 'astrovim' keybinding In fact: :verbose map i , j , imap i , j etc shows no mappings active.

rolflobker commented 2 years ago

Found that this is due to the better-escape plugin

For now have disabled the plugin, by editing lua/core/plugins.lua Commented out: -- Smooth escaping -- use { -- "max397574/better-escape.nvim", -- event = { "InsertEnter" }, -- config = function() -- require("better_escape").setup { -- mapping = { "ii", "jj", "jk", "kj" }, -- timeout = vim.o.timeoutlen, -- keys = "<ESC>", -- } -- end, -- } Specifically it's the 'jk' which leads to constantly exiting Insert mode. A pretty common combination of letters in the Dutch language.

I also have no need to exit with any other key besides Esc (which I've mapped to Caps) but I can see the appeal in exiting Insert mode using another combo like jj

So ended reverting to making it active, but changing mapping = { "jj", "kj" }, I may end up using jj

kabinspace commented 2 years ago

Yes, astrovim uses better-escape plugin for escaping. Currently, you have to make direct change in lua/plugins.lua for removing or adding a binding for that plugin. We will soon be making it configurable from the lua/settings.lua