mirror of
https://github.com/neovim/neovim.git
synced 2025-09-15 07:48:18 +00:00
ex_getln: add secret charm
Opt in to this secret world using set wildchar=0 " already the default, but remove if non-zero existing config: set wildcharm=0 now you can map 'wildmode' just like any mode: cnoremap <tab> <c-z> function! Spacey() return getcmdline()[-1:] == "/" ? "\<bs>" : "" endfunc cnoremap <expr> / wildmenumode() ? Spacey()."/<c-z>" : "/" Possibly asked questions: What about backwards compatibility? ==== Just do nothing and your existing 'wildchar' and 'wildcharm' will keep working. Doesn't `<c-z>` mean suspend? ==== Not in cmdline mode. If it would then the recommended wildcharm would not have been `<c-z>` to start with. My config relies on `:<c-z>` being a synonym to `:<nop>`! ==== just no.
This commit is contained in:
@@ -1024,7 +1024,7 @@ static int command_line_execute(VimState *state, int key)
|
||||
}
|
||||
|
||||
// free expanded names when finished walking through matches
|
||||
if (!(s->c == p_wc && KeyTyped) && s->c != p_wcm
|
||||
if (!(s->c == p_wc && KeyTyped) && s->c != p_wcm && s->c != Ctrl_Z
|
||||
&& s->c != Ctrl_N && s->c != Ctrl_P && s->c != Ctrl_A
|
||||
&& s->c != Ctrl_L) {
|
||||
if (compl_match_array) {
|
||||
@@ -1328,7 +1328,8 @@ static int command_line_execute(VimState *state, int key)
|
||||
// - hitting <ESC> twice means: abandon command line.
|
||||
// - wildcard expansion is only done when the 'wildchar' key is really
|
||||
// typed, not when it comes from a macro
|
||||
if ((s->c == p_wc && !s->gotesc && KeyTyped) || s->c == p_wcm) {
|
||||
if ((s->c == p_wc && !s->gotesc && KeyTyped) || s->c == p_wcm
|
||||
|| s->c == Ctrl_Z) {
|
||||
int options = WILD_NO_BEEP;
|
||||
if (wim_flags[s->wim_index] & WIM_BUFLASTUSED) {
|
||||
options |= WILD_BUFLASTUSED;
|
||||
|
Reference in New Issue
Block a user