我在Mac上为zsh安装了fzf我使用cd **<Tab>,而不是获取可以进入我总是得到一个很长的目录列表,例如
cd **
<Tab>
如何解决这个问题呢?当我搜索特定的文件,它总是返回Mac文件系统的库容器文件列表,如何忽略它们,只留下真实的的一个。它需要很长的时间才能获得top1真正的结果
顺便说一句,第一行的数字似乎是无限的,为什么呢?
2skhul331#
fzf默认命令搜索您的主目录中的每个文件,并遵循每个符号链接,例如~/Library/Container/*/Downloads,它会多次返回文件。根据fzf的自述文件,您可以指定FZF_DEFAULT_COMMAND和_fzf_compgen_path()_fzf_compgen_dir()来排除您不想看到的目录。
~/Library/Container/*/Downloads
FZF_DEFAULT_COMMAND
_fzf_compgen_path()
_fzf_compgen_dir()
# Use fd (https://github.com/sharkdp/fd) instead of the default find # remove -L of fzf default command # export FZF_DEFAULT_COMMAND="find . -mindepth 1 -path '*/\.*\' -prune -o -type f -print -o -type l -print 2> /dev/null | cut -b3-" export FZF_DEFAULT_COMMAND='fd --type f' _fzf_compgen_path() { fd --hidden --follow --exclude ".git" . "$1" } # Use fd to generate the list for directory completion _fzf_compgen_dir() { fd --type d --hidden --follow --exclude ".git" . "$1" }
h6my8fg22#
只是补充上面的答案:
brew install fd
fd
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
2条答案
按热度按时间2skhul331#
fzf默认命令搜索您的主目录中的每个文件,并遵循每个符号链接,例如
~/Library/Container/*/Downloads
,它会多次返回文件。根据fzf的自述文件,您可以指定
FZF_DEFAULT_COMMAND
和_fzf_compgen_path()
_fzf_compgen_dir()
来排除您不想看到的目录。h6my8fg22#
只是补充上面的答案:
brew install fd
在Mac上安装fd
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
从.zshrc加载)