diff --git a/.config/vim/vimrc.d/40-keys.vim b/.config/vim/vimrc.d/40-keys.vim index 09b5adf..0049703 100644 --- a/.config/vim/vimrc.d/40-keys.vim +++ b/.config/vim/vimrc.d/40-keys.vim @@ -91,7 +91,7 @@ endif function! GetVisualSelection() let l:old_reg = getreg('"') let l:old_regtype = getregtype('"') - norm y + norm gvy let l:sel = getreg('"') call setreg('"', l:old_reg, l:old_regtype) return l:sel @@ -100,10 +100,13 @@ endfunction vmap * /\V=escape(GetVisualSelection(),'/\') vmap # ?\V=escape(GetVisualSelection(),'?\') -" Extended `*`. Starts vim search (without jump) and ripgrep search for cword +" Extended `*`. Starts vim search (without jump) and ripgrep nmap * :let @/ = '\<' . expand('') . '\>' \ set hlsearch \ Rg \b=expand('')\b +vmap * :let @/ = "\\V=escape(escape(GetVisualSelection(), '\'), '"\')" + \ set hlsearch + \ Rg =escape(GetVisualSelection(), '.\[]*+?{}^$()') " Search inside visual selection noremap v/ /\%V