写点什么

Vim 搜索神器 fzf

用户头像
Rayjun
关注
发布于: 2020 年 12 月 13 日
Vim搜索神器fzf

在上一篇文章中,介绍了命令行神器 fzf 的使用,这个工具不止能在命令行使用,还可以在 vim 中使用。


vim 编辑器的功能很强大,但是在项目的文件管理方面却有点弱,缺乏有效的文件搜索功能,这点与 emacs 比起来就差太多了。


但是 fzf 插件能够帮助 vim 补足一下短板。


💡本文基于 macOS Big Sur 11.0.1,macVim8.2


1. 安装


vim 的安装不再赘述,使用 Homebrew 或者直接下载安装包进行安装。


在安装 fzf 之前,需要先安装一下 vim 的插件管理工具,当前比较主流的管理工具有 Vundle 以及 vim-plug,这里我们使用的是后者。


vim-plug 的安装很简单:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
复制代码


完成之后就可以安装插件了,在这里只演示安装 fzf 的插件,在 home 目录下新建一个 .vimrc 文件,然后在文件中填入以下内容:


call plug#begin('~/.vim/plugged')
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }Plug 'junegunn/fzf.vim'
call plug#end()
复制代码


使用 :PlugInstall 对进行安装,如下表示安装完成。


2. 使用


为了更好的使用 fzf 插件在使用之前,还需要做一个简单的配置,为了在打开文件后,能够准确的找到工作目录所在,需要在 .vimrc 中加上如下配置:


set autochdir # 自动切换工作目录
call plug#begin('~/.vim/plugged')
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }Plug 'junegunn/fzf.vim'
call plug#end()
复制代码


vim 中的命令与命令行稍微有点差别,对 fzf 的使用做了一些简单的封装,这样就不用做更多的配置。


核心的命令其实就一个 :Files [path]


使用这个命令之后,就会把目标目录下所有的文件(包括子目录)以一个小窗口的形式展现出来,而且带预览功能。



同样使用 CTRL-J 和 CTRL-K 对文件进行选择,直接对文件名称进行回车会在当前窗口窗口打开文件,可以使用 CTRL-T 以新 tab 的形式打开文件,CTRL-X 以水平分屏的形式打开文件,CTRL-V 垂直分屏的形式打开文件。


对于已经打开的文件,可以使用 :Buffers 来进行查看,操作和打开文件的方法与 :Files 命令一样。


甚至还与 git 做了一定程度的结合,使用 :GFiles 来查看 git 文件,相当于 git ls-files。使用 :GFiles? 查看 git 状态,相当于 git status


还可以使用 :Colors 来为 vim 切换主题。


有了上面的这些功能之后,vim 在操作文件上面就很强了,算是补足了 vim 的一个弱点。


上面的功能基本已经够用了,fzf 的 vim 插件也还有不少高阶的用法,感兴趣的可以自行查看文档。


文 / Rayjun

本文首发于微信公众号


欢迎关注我的微信公众号


REF

[1] https://github.com/junegunn/fzf.vim


发布于: 2020 年 12 月 13 日阅读数: 41
用户头像

Rayjun

关注

程序员,王小波死忠粉 2017.10.17 加入

非著名程序员,还在学习如何写代码,公众号同名

评论

发布
暂无评论
Vim搜索神器fzf