shell zsh fzf搜索路径在Mac上奇怪

nc1teljy  于 2022-11-25  发布在  Shell
关注(0)|答案(2)|浏览(154)

我在Mac上为zsh安装了fzf
我使用cd **<Tab>,而不是获取可以进入
我总是得到一个很长的目录列表,例如

如何解决这个问题呢?
当我搜索特定的文件,它总是返回Mac文件系统的库容器文件列表,如何忽略它们,只留下真实的的一个。它需要很长的时间才能获得top1真正的结果

顺便说一句,第一行的数字

似乎是无限的,为什么呢?

2skhul33

2skhul331#

fzf默认命令搜索您的主目录中的每个文件,并遵循每个符号链接,例如~/Library/Container/*/Downloads,它会多次返回文件。
根据fzf的自述文件,您可以指定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"
}
h6my8fg2

h6my8fg22#

只是补充上面的答案:

  • 通过brew install fd在Mac上安装fd
  • 使用FZF_DEFAULT_COMMAND将上述代码添加到.fzf.zsh(然后需要通过[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh从.zshrc加载)
  • 在你的主目录中编辑.fdignore文件以包括你不想包括的目录

相关问题