fzf by ruby

*/-->

fzf by ruby

2 简介

软件通过匿名管道和grep扩展了bash的功能,将bash的自动补全功能由渐进式增量补全增强为正则表达式
搜索式补全,并配以图形选择界面.当然,正则表达式的功能有所削减但也丝毫不影响使用.

3 使用

可以在bash下利用特殊触发字符,或在vim中通过命令FZF使用,也可以用在shell脚本中(fzf::run)

3.1 vim插件配置

  1. 将fzf的根目录加入到vim的运行时库文件夹变量中
  2. 在命令中使用FZF 或FZF目录就可以

3.2 一般用法

  1. 使用选项-x指定使用扩展匹配模式,可以使用简单的模式匹配

    ^matchmatch$'match!'match!match
    match在开头match在结尾包含match不包含match不匹配
  2. 使用 -m 选项可以使用多行同时选中模式,可以使用tab或 S-tab 键选中多个匹配项
  3. 目录及目录名补全
    1: vim **<TAB>
    2: vim ../**<TAB>
    3: vim /usr/bin**<TAB>
  4. 进程号补全
    1: kill -9 <TAB>
    
  5. 主机和环境变量补全
    1: ssh **<TAB>
    2: telnet **<TAB>
    3: unset **<TAB>
    4: export **<TAB>
    5: unalias **<TAB>

3.3 脚本用法

1: #使用函数fzf#run([options])来
2: #返回一个选中文件的列表
3: # echo fzf#run()

4 BUGS

  1. ruby2.1使用1.8的gem软件所以安装好curse仍然提示
    找不到curse,最后只能手动修改了fzf可执行文件中的
    命令参数.由于这个原因在vim中使用的话需要在fzf.vim中
    修改相关参数,如果要使用 C-T 还需要在.fzf.bash中修改
    相关的参数
  2. 在vim中使用FZF命令时,会导致vim死循环

Author: mashomee

Created: 2015-02-11 Wed 12:05

Emacs 24.4.1 (Org mode 8.2.10)

Validate

04-16 19:01