summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2017-10-29 23:34:26 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2017-10-29 23:48:55 +0900
commita6d2ab33609ad20ce107e66d9648d908800fa3ad (patch)
tree6248c16afcd4af585f8cfd7bc4e7ba8b125eda2e /README.md
parentfe7b91dfd9831433aca2c5e5e744f6a188b401be (diff)
Update README: Examples using fd
- https://github.com/sharkdp/fd - https://mike.place/2017/fzf-fd/ /cc @williamsmj
Diffstat (limited to 'README.md')
-rw-r--r--README.md43
1 files changed, 20 insertions, 23 deletions
diff --git a/README.md b/README.md
index f8f401db..ba54bc5e 100644
--- a/README.md
+++ b/README.md
@@ -231,7 +231,7 @@ or `py`.
- `FZF_DEFAULT_COMMAND`
- Default command to use when input is tty
- - e.g. `export FZF_DEFAULT_COMMAND='rg --files'`
+ - e.g. `export FZF_DEFAULT_COMMAND='fd --type f'`
- `FZF_DEFAULT_OPTS`
- Default options
- e.g. `export FZF_DEFAULT_OPTS="--reverse --inline-info"`
@@ -369,27 +369,20 @@ export FZF_COMPLETION_TRIGGER='~~'
# Options to fzf command
export FZF_COMPLETION_OPTS='+c -x'
-# Use rg (https://github.com/BurntSushi/ripgrep) instead of the default find
+# Use fd (https://github.com/sharkdp/fd) instead of the default find
# command for listing path candidates.
-# - The first argument to the function is the base path to start traversal
+# - The first argument to the function ($1) is the base path to start traversal
# - See the source code (completion.{bash,zsh}) for the details.
-# - rg only lists files, so we use with-dir script to augment the output
_fzf_compgen_path() {
- rg --files "$1" | with-dir "$1"
+ fd --hidden --follow --exclude ".git" . "$1"
}
-# Use rg to generate the list for directory completion
+# Use fd to generate the list for directory completion
_fzf_compgen_dir() {
- rg --files "$1" | only-dir "$1"
+ fd --type d --hidden --follow --exclude ".git" . "$1"
}
```
-`only-dir` and `with-dir` scripts can be found [here][dir-scripts]. They are
-written in Ruby, but you should be able to rewrite them in any language you
-prefer.
-
-[dir-scripts]: https://gist.github.com/junegunn/8c3796a965f22e6a803fe53096ad7a75
-
#### Supported commands
On bash, fuzzy completion is enabled only for a predefined set of commands
@@ -490,29 +483,33 @@ For more advanced examples, see [Key bindings for git with fzf][fzf-git].
Tips
----
-#### Respecting `.gitignore`, `.hgignore`, and `svn:ignore`
+#### Respecting `.gitignore`
-[ripgrep](https://github.com/BurntSushi/ripgrep) or [the silver
-searcher](https://github.com/ggreer/the_silver_searcher) can do the filtering:
+You can use [fd](https://github.com/sharkdp/fd),
+[ripgrep](https://github.com/BurntSushi/ripgrep), or [the silver
+searcher](https://github.com/ggreer/the_silver_searcher) instead of the
+default find command to traverse the file system while respecting
+`.gitignore`.
```sh
-# Feed the output of rg into fzf
-rg --files | fzf
+# Feed the output of fd into fzf
+fd --type f | fzf
-# Setting rg as the default source for fzf
-export FZF_DEFAULT_COMMAND='rg --files'
+# Setting fd as the default source for fzf
+export FZF_DEFAULT_COMMAND='fd --type f'
-# Now fzf (w/o pipe) will use rg instead of find
+# Now fzf (w/o pipe) will use fd instead of find
fzf
# To apply the command to CTRL-T as well
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
```
-If you don't want to exclude hidden files, use the following command:
+If you want the command to follow symbolic links, and don't want it to exclude
+hidden files, use the following command:
```sh
-export FZF_DEFAULT_COMMAND='rg --files --hidden --glob \!.git'
+export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
```
#### `git ls-tree` for fast traversal