In addition to the accepted answer, I want to add that spaces in your search pattern matter too, in order to separate fuzzy search pattern arguments.
Let's say you have this file tree. Notice that each dir has a test.txt and test file in it:
temp/dir1/test.txt
temp/dir1/test
temp/dir2/test.txt
temp/dir2/test
temp/dir3/test.txt
temp/dir3/test
Let's try to find all 3 files above which have the search pattern temp somewhere in their path, and are named test and have no file extension:
In default search mode in fzf:
- This search will find no files:
temp/test$
- This search will find all 6 files:
temp/test
- So, if you're trying to find just the
test files which have no extension, you must add a space into your search pattern, like this! This search will find just the 3 test files which have no file extension (and have the pattern temp somewhere higher up in the path):
temp /test$
Adding that one space between the two fuzzy search patterns (temp and /test$) makes all the difference!
Note that this search too will find all 6 files:
temp /test
In summary, to find just the 3 test files with no extension, you must use the space to separate fuzzy search parameters, AND use the $ at the end to indicate "end of line":
temp /test$
Of course, the same requirement for the space between fuzzy search parameters applies to the ^ "beginning of line" search character too. (This example doesn't make this point well, but the principle is the same.):
^temp /test