From 2cb8db34e3a275dec3dacb10fdc75640f4ec8174 Mon Sep 17 00:00:00 2001 From: Gregory Anders Date: Mon, 16 Aug 2021 19:28:52 -0600 Subject: [PATCH] feat: defaults: set undo points in and (#15400) --- runtime/doc/insert.txt | 6 ++++++ runtime/doc/vim_diff.txt | 2 ++ src/nvim/getchar.c | 8 ++++++++ src/nvim/normal.c | 6 ------ src/nvim/testdir/setup.vim | 2 ++ test/functional/helpers.lua | 2 ++ 6 files changed, 20 insertions(+), 6 deletions(-) diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index c8a4168ab2..bb00c77ca8 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -68,12 +68,18 @@ CTRL-A Insert previously inserted text. CTRL-W Delete the word before the cursor (see |i_backspacing| about joining lines). See the section "word motions", |word-motions|, for the definition of a word. + *i_CTRL-W-default* + By default, sets a new undo point before deleting. + |default-mappings| *i_CTRL-U* CTRL-U Delete all entered characters before the cursor in the current line. If there are no newly entered characters and 'backspace' is not empty, delete all characters before the cursor in the current line. See |i_backspacing| about joining lines. + *i_CTRL-U-default* + By default, sets a new undo point before deleting. + |default-mappings| *i_CTRL-I* *i_* *i_Tab* or CTRL-I Insert a tab. If the 'expandtab' option is on, the equivalent number of spaces is inserted (use CTRL-V to diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index ecc3f52077..7e1bd3e087 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -78,6 +78,8 @@ Default Mappings: *default-mappings* nnoremap Y y$ nnoremap nohlsearchdiffupdate +inoremap u +inoremap u ============================================================================== 3. New Features *nvim-features* diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c index 63da6f7922..4bf1c90830 100644 --- a/src/nvim/getchar.c +++ b/src/nvim/getchar.c @@ -841,6 +841,14 @@ static void init_typebuf(void) } } +void init_default_mappings(void) +{ + add_map((char_u *)"Y y$", NORMAL, true); + add_map((char_u *)" nohlsearchdiffupdate", NORMAL, true); + add_map((char_u *)" u", INSERT, true); + add_map((char_u *)" u", INSERT, true); +} + // Insert a string in position 'offset' in the typeahead buffer (for "@r" // and ":normal" command, vgetorpeek() and check_termcode()) // diff --git a/src/nvim/normal.c b/src/nvim/normal.c index f3869e7e44..2a530db934 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -397,12 +397,6 @@ void init_normal_cmds(void) nv_max_linear = i - 1; } -void init_default_mappings(void) -{ - add_map((char_u *)"Y y$", NORMAL, true); - add_map((char_u *)" nohlsearchdiffupdate", NORMAL, true); -} - /* * Search for a command in the commands table. * Returns -1 for invalid command. diff --git a/src/nvim/testdir/setup.vim b/src/nvim/testdir/setup.vim index 57ba57a3c8..58ce0f1a4c 100644 --- a/src/nvim/testdir/setup.vim +++ b/src/nvim/testdir/setup.vim @@ -27,6 +27,8 @@ set switchbuf= " Unmap Nvim default mappings. unmap Y unmap +iunmap +iunmap " Prevent Nvim log from writing to stderr. let $NVIM_LOG_FILE = exists($NVIM_LOG_FILE) ? $NVIM_LOG_FILE : 'Xnvim.log' diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua index 21ae529b71..a1b464af13 100644 --- a/test/functional/helpers.lua +++ b/test/functional/helpers.lua @@ -44,6 +44,8 @@ module.nvim_argv = { '--cmd', module.nvim_set, '--cmd', 'unmap Y', '--cmd', 'unmap ', + '--cmd', 'iunmap ', + '--cmd', 'iunmap ', '--embed'} -- Directory containing nvim.