Turn on Localsearch, search one thing in one window, switch to another window and search for something else. Switch back and forth and the searchterm is updated to the one pertaining to the respective window.
Imagine you want to trace a variable trough a codebase:
- You start in file 1 and search for all occurences of variable A
- Variable A is assigned to variable B and variable C so you need to
trace those as well. With Toggleterm you just press
*
on B and C and search for these, too. - Variable B is fed into a function in file 2 as variable D. So you hit the key to switch to Localsearch and open file 2. There you search for variable D.
- When you focus file 1 again, Localsearch takes care of switching the searchword back to the on you had in that window.
- FANCY
- Install it using your favorite plugin manager, e.g.
Plug 'mox-mox/vim-localsearch'
for vim-plug. - Copy the mappings in :help localsearch-recommended into your .vimrc/init.vim
- Open a file, hit <leader>/ to enable localsearch. Open a split, move the
cursor over a word and press
*
. Vim will search for that word as it would without localsearch. Now, move the cursor over another word and press*
again. Instead of replacing the search term, Vim will now search for both terms. - Now, move back to the first split window. The search highlighting will disappear. Search for something, then move back to the second window. Your search in the second window will be re-activated. Fancy again!
I wrote a small extension to vim-airline that will show an indicator in the statusline when localsearch is activated. It should load automatically when you have both plugins installed and look like this: