commit f291a0339c186cf6eb83174e88029555b3c2631a
parent 356631cba0e8dc413202f4bc874cb7f204056bae
Author: Gregory Anders <8965202+gpanders@users.noreply.github.com>
Date: Sat, 12 Mar 2022 17:56:53 -0700
fix: use normal! <C-L> in default <C-L> mapping (#17695)
Diffstat:
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
@@ -84,7 +84,7 @@ Nvim creates the following default mappings at |startup|. You can disable any
of these in your config by simply removing the mapping, e.g. ":unmap Y".
>
nnoremap Y y$
- nnoremap <C-L> <Cmd>nohlsearch<Bar>diffupdate<CR><C-L>
+ nnoremap <C-L> <Cmd>nohlsearch<Bar>diffupdate<Bar>normal! <C-L><CR>
inoremap <C-U> <C-G>u<C-U>
inoremap <C-W> <C-G>u<C-W>
<
diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c
@@ -842,7 +842,10 @@ static void init_typebuf(void)
void init_default_mappings(void)
{
add_map((char_u *)"Y y$", NORMAL, true);
- add_map((char_u *)"<C-L> <Cmd>nohlsearch<Bar>diffupdate<CR><C-L>", NORMAL, true);
+
+ // Use normal! <C-L> to prevent inserting raw <C-L> when using i_<C-O>
+ // See https://github.com/neovim/neovim/issues/17473
+ add_map((char_u *)"<C-L> <Cmd>nohlsearch<Bar>diffupdate<Bar>normal! <C-L><CR>", NORMAL, true);
add_map((char_u *)"<C-U> <C-G>u<C-U>", INSERT, true);
add_map((char_u *)"<C-W> <C-G>u<C-W>", INSERT, true);
}