mirror of
https://github.com/neovim/neovim.git
synced 2025-09-28 22:18:33 +00:00
feat(edit): insert an unsimplified key using CTRL-SHIFT-V
This marks the following Vim patches as ported: vim-patch:8.1.2333: with modifyOtherKeys CTRL-^ doesn't work Problem: With modifyOtherKeys CTRL-^ doesn't work. Solution: Handle the exception.828ffd5963
vim-patch:8.1.2350: other text for CTRL-V in Insert mode with modifyOtherKeys Problem: Other text for CTRL-V in Insert mode with modifyOtherKeys. Solution: Convert the Escape sequence back to key as if modifyOtherKeys is not set, and use CTRL-SHIFT-V to get the Escape sequence itself. (closes vim/vim#5254)fc4ea2a72d
vim-patch:8.2.2084: CTRL-V U doesn't work to enter a Unicode character Problem: CTRL-V U doesn't work to enter a Unicode character when modifyOtherKeys is effective. (Ken Takata) Solution: Add a flag to get_literal() for the shift key. (closes vim/vim#7413)0684e36a7e
Omit getcmdkeycmd() change as it depends on Vim patch 8.2.2062, which may introduce a potential breakage.
This commit is contained in:
@@ -5154,7 +5154,7 @@ static void nv_replace(cmdarg_T *cap)
|
||||
// get another character
|
||||
if (cap->nchar == Ctrl_V) {
|
||||
had_ctrl_v = Ctrl_V;
|
||||
cap->nchar = get_literal();
|
||||
cap->nchar = get_literal(false);
|
||||
// Don't redo a multibyte character with CTRL-V.
|
||||
if (cap->nchar > DEL) {
|
||||
had_ctrl_v = NUL;
|
||||
@@ -5369,7 +5369,7 @@ static void nv_vreplace(cmdarg_T *cap)
|
||||
emsg(_(e_modifiable));
|
||||
} else {
|
||||
if (cap->extra_char == Ctrl_V) { // get another character
|
||||
cap->extra_char = get_literal();
|
||||
cap->extra_char = get_literal(false);
|
||||
}
|
||||
stuffcharReadbuff(cap->extra_char);
|
||||
stuffcharReadbuff(ESC);
|
||||
|
Reference in New Issue
Block a user