From 0c5b68ab2afa3c04ff6a093f8acf2668527b383b Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Fri, 3 Jan 2020 23:13:17 +0800 Subject: [PATCH] Fix cursor pos when enable incsearch layer (#3279) close #3159 --- autoload/SpaceVim/layers/core/statusline.vim | 2 ++ autoload/SpaceVim/layers/incsearch.vim | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/autoload/SpaceVim/layers/core/statusline.vim b/autoload/SpaceVim/layers/core/statusline.vim index 74699e015..39663f03a 100644 --- a/autoload/SpaceVim/layers/core/statusline.vim +++ b/autoload/SpaceVim/layers/core/statusline.vim @@ -255,6 +255,7 @@ else endif function! s:search_status() abort + let save_cursor = getpos('.') let ct = 0 let tt = 0 let ctl = split(s:VIMCOMP.execute('keeppatterns .,$s/' . @/ . '//gn', 'silent!'), "\n") @@ -265,6 +266,7 @@ function! s:search_status() abort if !empty(ctl) let tt = split(ttl[0])[0] endif + keepjumps call setpos('.', save_cursor) return ' ' . (str2nr(tt) - str2nr(ct) + 1) . '/' . tt . ' ' endfunction diff --git a/autoload/SpaceVim/layers/incsearch.vim b/autoload/SpaceVim/layers/incsearch.vim index 7a754d7c0..9c81b6aac 100644 --- a/autoload/SpaceVim/layers/incsearch.vim +++ b/autoload/SpaceVim/layers/incsearch.vim @@ -101,10 +101,10 @@ function! s:update_search_index(key) abort normal! N endif endif - normal! ml + let save_cursor = getpos('.') if !SpaceVim#layers#core#statusline#check_section('search status') call SpaceVim#layers#core#statusline#toggle_section('search status') endif let &l:statusline = SpaceVim#layers#core#statusline#get(1) - normal! `l + keepjumps call setpos('.', save_cursor) endfunction