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 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
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:
||Remove the search results in whiches content part not contains the Vim's search pattern.|
||Remove the search results in whiches content part contains the Vim's search pattern.|
||Remove the search results in whiches file part not contains the Vim's search pattern.|
||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 testand get the search result for 'test'.
/in the search result window.
/in the filtered results.
You will get your search result after all.
: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
\> 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
<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
Instead of search the whold "foo::bar" pattern, we suggest you search "foo" first by
After that use ex-gsearch's filter method search the "foo::bar" and
<leader>r to pick them.