exVim use ex-gsearch for global search. It also
integrate the id-utils building pipeline which is required in ex-gsearch. In short,
when you use :Update command, exVim will generate the ID file which will be used in
ex-gsearch.
ex-gsearch has two main ways for search text in your project.
<leader>gg: It will search the current words under the cursor.:GS <word>: It will searcht the <word> you input in command line.After search, ex-gsearch will list the result in the global search window. Press <enter>
on the result and exVim will jump to it in edit-window.
ex-gsearch will show the search results like this:

However, sometimes there will be too many search results and we would like to filter it.
ex-gsearch allow user apply Vim's search commands such as /, ? and so on (more details type :help search-commands).
After you confirm the Vim's search pattern, you can use ex-gsearch's filter command filter the
result right in the global search window.
Each search result can divided into file part and content part, ex-gsearch provide four filter methods for different filter purpose:
| Commands | Usage |
|---|---|
<leader>r |
Remove the search results in whiches content part not contains the Vim's search pattern. |
<leader>d |
Remove the search results in whiches content part contains the Vim's search pattern. |
<leader>fr |
Remove the search results in whiches file part not contains the Vim's search pattern. |
<leader>fd |
Remove the search results in whiches file part contains the Vim's search pattern. |
The cool thing is, you can use these filter methods again and again till the result less enough to choose. For instance:
:GS test and get the search result for 'test'. / in the search result window.<leader>r filter it./ in the filtered results.<leader>fr filter it.
You will get your search result after all.
The <leader>gg and :GS command will search the text includes or equals to the words.
Sometimes we want the exactly words, not the part of them. You can use Vim's search pattern
\<word\> in filter. But there is a quick way to do this. Just move your cursor to the search
title and press gd, Vim will automatically search the word under cursor and put it in between
\< and \> as search pattern.
The ex-gsearch's search result window is just a Vim buffer. Every time you search or filter
in it will make it record an undo history. You can use u and <ctrl-r> to get the prev or
next search result.
The Known Issues #2 and #3 shows the issues of id-utils
when working in Windows.
When you use :GS command search text such as "foobar.h", "foo::bar" and "foo.bar()".
It gets no result, but you are 100% that these words are contains in your code.
This is because ex-gsearch only accept words, which means you can not include symbols such as
dot, comma even space in your :GS command.
Instead of search the whold "foo::bar" pattern, we suggest you search "foo" first by :GS foo.
After that use ex-gsearch's filter method search the "foo::bar" and <leader>r to pick them.