vim-IDE进化07-fzf搜索文件
前言
之前已经介绍过了ctrlp
这个工具为什么还需要fzf
这个工具。
因为这两者在使用方式上有一些区别。fzf
是可以直接在mac
的终端上使用,并且还能够集成到vim
当中使用。
官网
https://github.com/junegunn/fzf
FZF的Vim插件:
https://github.com/junegunn/fzf.vim
安装
fzf 这个工具,本身是mac下就可以使用的一个功能,而vim是可以调用外部应用来使用的。
所以需要新安装 fzf,再安装 vim 插件端。
fzf 本机安装
必须先安装,vim才能调用该插件。
1 | git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf |
验证一下效果:
直接在 iterm2 下输入:fzf,就可以打开
1 | fzf |
control-j 和 control-k 上移和下移
带预览
1 | fzf --preview 'cat {}' |
使用这个工具完全可以代替find
这个工具。
结合vim中使用
插件安装
1 | " fzf#install() 确保你安装了最新的 fzf |
命令说明
有很多命令很好用,下面是全部命令列表,然后一个一个介结。
Command | List |
---|---|
:Files [PATH] |
搜索文件 |
:GFiles [OPTS] |
搜索 Git files (git ls-files ) |
:GFiles? |
查看Git文件状态 (git status ) |
:Buffers |
查看打开的buffer |
:Colors |
选择样式,这个超好用 |
:Ag [PATTERN] |
ag search result (ALT-A to select all, ALT-D to deselect all) |
:Rg [PATTERN] |
rg search result (ALT-A to select all, ALT-D to deselect all) |
:Lines [QUERY] |
Lines in loaded buffers |
:BLines [QUERY] |
Lines in the current buffer |
:Tags [QUERY] |
Tags in the project (ctags -R ) |
:BTags [QUERY] |
Tags in the current buffer |
:Marks |
Marks,查看vim 的mark,这个有点好用 |
:Windows |
Windows |
:Locate PATTERN |
locate command output |
:History |
查看文件打开历史 |
:History: |
查看命令历史,和上面那个不一样 |
:History/ |
搜索命令历史 |
:Snippets |
Snippets (UltiSnips) |
:Commits |
Git commits (requires fugitive.vim) |
:BCommits |
Git commits for the current buffer; visual-select lines to track changes in the range |
:Commands |
Commands |
:Maps |
Normal mode mappings |
:Helptags |
Help tags 1 |
:Filetypes |
File types |
查询文件 :Files
查询文件,这个就是最普通的文件搜索。
查询git文件 :GFiles
查询被git跟踪的文件,这个我不常用,因为有更别的更好用的工具如lzaygit
。
查询命令列表 :Commands
查看所有vim
已安装的插件的命令,这个很强!!
查看最近打开历史 :History
查看执行过的历史命令,自行偿试。
1 | :History |
查看Marks标记
把通过m
标记过的位置罗列出来,比如平时用的最多的ma
,因为多了也记不住,这个就解决了标记多了记不住的问题。
查询错误提示
1 | space a |
展示后,可以模糊搜索,也可以直接回车跳到想去的位置,这些都是markdown
的表格当中包含了一些检查认为有问题的地方。
检查根据打开的文件类型进行检查,如果打开的是.java
或.go
的文件,也会进行对应的语法检查。
样式选择 :Colors
这个有点意思,可以选择需要的样式,当然这些校式是我之前就安装过的,但是可以这样直接选择,方便不少。
选3种效果看下:
查看普通模式下按键映射 :Maps
F5-12是我设置的go
的快键键,包括运行和debug的键键。
到这里,我们的vim-IDE
进化在文本操作这块基本已经差不多了,接下来就是关于编程方面的配置。fzf
还是非常强大的,不论是使用,还是可视化的窗口,用起来还是比较爽。
完整配置
到了一这步的完整配置如下,后续基于这个配置,继续往下进行配置。
1 | "================================= |
参考资料
https://github.com/junegunn/fzf
https://github.com/junegunn/fzf/wiki/Examples
https://github.com/junegunn/fzf.vim