我刚安装了FZF在Arch Linux的11年4月13日使用pacman -S fzf
。
在 Bash 中,我可以调用fzf
它让我选择当前目录及其子目录中的文件(使用Ctrl+n和Ctrl+ p)。
这很好,但我想要某种形式的 Bash 集成。
我从这里去哪里?
使用whereis fzf
,我在以下位置找到了 fzf 用于 bash 集成的文件usr/share/fzf
:
completion.bash
key-bindings.bash
Run Code Online (Sandbox Code Playgroud)
在source
ing 两个文件之后,这将为 bash 启用几个键绑定:例如,我可以点击Ctrl+t来搜索当前目录中的文件,并点击Ctrl+r来搜索我的命令历史记录。
为了查找和更改目录,有Alt+ c。
为了使这些键绑定持久,我将它们添加到我的.bashrc
:
source /usr/share/fzf/completion.bash && source /usr/share/fzf/key-bindings.bash
Run Code Online (Sandbox Code Playgroud)
我觉得有用的自定义是在使用 fzf 时显示文件预览(我也把它放在我的.bashrc
中):
# When selecting files with fzf, we show file content with syntax highlighting,
# or without highlighting if it's not a source file. If the file is a directory,
# we use tree to show the directory's contents.
# We only load the first 200 lines of the file which enables fast previews
# of large text files.
# Requires highlight and tree: pacman -S highlight tree
export FZF_DEFAULT_OPTS="--preview '(highlight -O ansi -l {} 2> /dev/null ||
cat {} || tree -C {}) 2> /dev/null | head -200'"
Run Code Online (Sandbox Code Playgroud)
开箱即用,fzf 支持一些硬编码命令的模糊路径补全cd
,例如ls
、 和vim
。
例如,输入vim **
Tabon bash 会在当前目录中开始模糊搜索,并使用 Vim 1打开所选文件。
这非常有用,但我想以相同的方式打开例如 PDF。您可以通过添加以下行来启用此功能.bashrc
:
complete -o bashdefault -o default -F _fzf_path_completion zathura
Run Code Online (Sandbox Code Playgroud)
这zathura
是我的 PDF 查看器;您可以将其替换为您选择的文档查看器。
请注意,模糊路径补全适用于所有路径,而不仅仅是当前目录:
vim ~/**
Run Code Online (Sandbox Code Playgroud)
然后点击Tab将模糊搜索您的主目录下的文件,然后在 Vim 中打开它。
以下是我.vimrc
在 Vim 会话中使用 fzf 的一些键绑定:
completion.bash
key-bindings.bash
Run Code Online (Sandbox Code Playgroud)
所有这些的先决条件是fzf Vim 插件;我通过将它放在我的插件中来安装它.vimrc
:
Plug 'junegunn/fzf.vim'
Run Code Online (Sandbox Code Playgroud)
然后:PlugInstall
从 Vim调用。
特别是在处理软件时,我喜欢在给定项目的文件之间切换。假设项目是使用 Git 进行版本控制的,这里有一个绑定,它将模糊搜索项目内的文件并打开所选文件:
source /usr/share/fzf/completion.bash && source /usr/share/fzf/key-bindings.bash
Run Code Online (Sandbox Code Playgroud)
要获得 fzf、Vim 和 Tmux 的强大组合,请查看Keegan Lowenstein 的博客文章(我--preview
从那里获得了配置)。
这里有一些关于如何配置 fzf 的 shell 集成的想法。
您可以在fzf 的自述文件及其wiki 中找到更多 fzf 配置示例。
1 如果您发现自己模糊搜索文件,然后在 Vim 中经常打开它们,您可以使用这段.bashrc
.
归档时间: |
|
查看次数: |
6399 次 |
最近记录: |