mirror of
https://github.com/neovim/neovim.git
synced 2025-10-21 17:21:49 +00:00
fix(defaults): default @/Q broken when 'ignorecase' is set (#29343)
Problem: When 'ignorecase' is set, the default keymap Q and Q would exit visual mode. This issue was raised in #28287 and a fix was applied in #28289. However, `==` operator is subject to user `ignorecase` setting. Solution: Switching to `==#` operator would guarantee case sensitive comparison between visual mode and linewise visual mode. Co-authored-by: Kuanju Chen <kuanju.chen@mksinst.com>
This commit is contained in:
@@ -85,13 +85,13 @@ do
|
||||
vim.keymap.set(
|
||||
'x',
|
||||
'Q',
|
||||
"mode() == 'V' ? ':normal! @<C-R>=reg_recorded()<CR><CR>' : 'Q'",
|
||||
"mode() ==# 'V' ? ':normal! @<C-R>=reg_recorded()<CR><CR>' : 'Q'",
|
||||
{ silent = true, expr = true, desc = ':help v_Q-default' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'x',
|
||||
'@',
|
||||
"mode() == 'V' ? ':normal! @'.getcharstr().'<CR>' : '@'",
|
||||
"mode() ==# 'V' ? ':normal! @'.getcharstr().'<CR>' : '@'",
|
||||
{ silent = true, expr = true, desc = ':help v_@-default' }
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user