DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

fzf让命令行更方便


fzf是一个命令行工具,目前支持bash和zsh。

fzf配合autojump和vim,可以方便地在多层目录下进行文本编辑。

Before install fzf, download go binary package (go1.4.2.linux-amd64.tar.gz for now) extract it, and add its bin folder to $PATH. Then install fzf with git.

首先运行j demo跳转到项目根目录下,项目文件结构如下:

$ tree
.
├── both
│   ├── collections.coffee
│   └── router.coffee
├── client
│   ├── index.html
│   ├── layout.coffee
│   ├── layout.html
│   ├── registerHelpers.coffee
│   ├── stylesheets
│   │   └── app.scss
│   └── templates
│       ├── addPost
│       │   ├── addPost.coffee
│       │   ├── addPost.html
│       │   └── addPost.scss
│       ├── editPost
│       │   ├── editPost.coffee
│       │   └── editPost.html
│       ├── lists
│       │   ├── lists.coffee
│       │   └── lists.html
│       ├── postView
│       │   ├── postView.coffee
│       │   └── postView.html
│       ├── sharePost
│       │   ├── sharePost.coffee
│       │   └── sharePost.html
│       ├── sideMenu
│       │   └── sideMenu.html
│       └── userAccounts
│           ├── accountsConfig.coffee
│           ├── userAccounts.coffee
│           └── userAccounts.html
├── LICENSE
├── newnote.tmp
├── packages
├── README.md
└── server
    └── seeds.js

13 directories, 26 files

配置

全局定义:~/.fzf.zsh

默认快捷键可以在.fzf/shell/key-bindings.zsh中修改。 推荐将默认的文件搜索快捷键从Ctrl-T改成了Ctrl-J,需要避免使用的配置有:

  • Ctrl-I: 代表键,虽然可以触发目录搜索,但键的自动补全功能不能用了;

  • Ctrl-M: 回车键的键值,如果改成了它,将导致回车键不可用,可以用Ctrl-Enter临时代替回车;

  • Ctrl-N: 下一条历史命令的快捷键。

使用

文件搜索

要编辑client/templates/lists/lists.coffee文件,只要在命令行中输入vi然后按Ctrl-j, 就进入了fzf搜索界面,只要输入任意层目录中的几个字符,就可以匹配到目标文件, 例如上面lists.coffee文件,只要输入listco就可以匹配到了。 其中当输入到list时,就匹配到了lists文件夹以及下面的两个文件, 这时可以继续输入"co",直接命中目标,也可以用Ctrl-j/k在列表中上下选择目标。

实际上fzf进行目录文件匹配的快捷键是Ctrl-T,但对vi进行了特殊定义,使得用也可以出发fzf搜索。

按Alt-C,选择好目录,可以直接切换到目标目录,相当于cd <Ctrl-T>的快捷版。

Ctrl-R在命令行历史使用模糊匹配。

历史命令搜索

Ctrl-r激活搜索列表,然后模糊匹配;

可以使用多种配置格式,例如前缀、后缀、取反、严格一致等等, 例如搜索单词date(而不是包含d,a,t,e的任何字符串),在Ctrl-R后输入'date, 详见文档对"extended-search mode"的说明。

进程搜索

输入kill然后按Tab键显示系统进程列表,开始模糊搜索;



Published

Apr 16, 2015

Last Updated

Apr 16, 2015

Category

Tech

Tags

  • fzf 1
  • shell 46

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor