feat(defaults): map CTRL-L to search highlights, update diffs #15385

This commit is contained in:
Gregory Anders
2021-08-16 09:31:14 -06:00
committed by GitHub
parent 7146103be2
commit 0aa8128aaa
7 changed files with 29 additions and 11 deletions

View File

@@ -6259,8 +6259,8 @@ static int open_cmdwin(void)
const int histtype = hist_char2type(cmdwin_type);
if (histtype == HIST_CMD || histtype == HIST_DEBUG) {
if (p_wc == TAB) {
add_map((char_u *)"<buffer> <Tab> <C-X><C-V>", INSERT);
add_map((char_u *)"<buffer> <Tab> a<C-X><C-V>", NORMAL);
add_map((char_u *)"<buffer> <Tab> <C-X><C-V>", INSERT, false);
add_map((char_u *)"<buffer> <Tab> a<C-X><C-V>", NORMAL, false);
}
set_option_value("ft", 0L, "vim", OPT_LOCAL);
}

View File

@@ -4357,18 +4357,23 @@ check_map (
}
/*
* Add a mapping "map" for mode "mode".
* Need to put string in allocated memory, because do_map() will modify it.
*/
void add_map(char_u *map, int mode)
/// Add a mapping. Unlike @ref do_map this copies the {map} argument, so
/// static or read-only strings can be used.
///
/// @param map C-string containing the arguments of the map/abbrev command,
/// i.e. everything except the initial `:[X][nore]map`.
/// @param mode Bitflags representing the mode in which to set the mapping.
/// See @ref get_map_mode.
/// @param nore If true, make a non-recursive mapping.
void add_map(char_u *map, int mode, bool nore)
{
char_u *s;
char_u *cpo_save = p_cpo;
p_cpo = (char_u *)""; // Allow <> notation
// Need to put string in allocated memory, because do_map() will modify it.
s = vim_strsave(map);
(void)do_map(0, s, mode, FALSE);
(void)do_map(nore ? 2 : 0, s, mode, false);
xfree(s);
p_cpo = cpo_save;
}

View File

@@ -399,7 +399,8 @@ void init_normal_cmds(void)
void init_default_mappings(void)
{
add_map((char_u *)"Y y$", NORMAL);
add_map((char_u *)"Y y$", NORMAL, true);
add_map((char_u *)"<C-L> <Cmd>nohlsearch<Bar>diffupdate<CR><C-L>", NORMAL, true);
}
/*

View File

@@ -21,7 +21,10 @@ set undodir^=.
set wildoptions=
set startofline
set sessionoptions+=options
" Unmap Nvim default mappings.
unmap Y
unmap <C-L>
" Prevent Nvim log from writing to stderr.
let $NVIM_LOG_FILE = exists($NVIM_LOG_FILE) ? $NVIM_LOG_FILE : 'Xnvim.log'