Arnarsson

Fzf Fuzzy Finder

开发编程v1.0.0
作者:Arnarsson更新于 2026-05-11fzf-fuzzy-finder@clawhub_arnarsson/fzf-fuzzy-finder
脚本工具

据 AlphaMoat 统计,截至 2026-09,Fzf Fuzzy Finder 累计下载 3,771 次、获 1 个星标,在全部 5,078 个 AI 技能中排名第 2,817 位,在「开发编程」分类(577 个)中排名第 366 位。

累计安装
122
累计下载
3,771
星标
1
全站排名
#2,817
全站前 56% · 「开发编程」前 64%
平台累计安装累计下载星标评论
ClawHub ↗1193,7711-
SkillHub ↗1223,7641—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

主文提供文件和目录选择、预览、Git、进程、Docker 与 Kubernetes 等用法,也展示将选中项传给删除或管理命令的示例。可复制的管道可能删除文件、结束进程或移除资源;执行前应先预览结果,核对上下文与参数,并加入明确确认。

资料发布于 2026-10-29

可以用来做什么

  • 交互式筛选文件、目录或命令历史
  • 为候选项设计预览窗口和键盘操作
  • 审查将选择结果传给管理命令的管道

什么时候用

  • 需要在命令行中交互式筛选内容,并能在执行有副作用的命令前确认目标时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

只设计文件选择的 fzf 流程,不执行打开、复制或删除操作。
审查一个进程管理管道,列出预览、范围检查和执行确认步骤。

月度数据趋势

累计下载3,771
2,2223,0543,8862026-03 · 累计下载 2,3372026-05 · 累计下载 2,9352026-06 · 累计下载 3,1252026-07 · 累计下载 3,4522026-08 · 累计下载 3,6312026-09 · 累计下载 3,77126-0326-09
星标1
0122026-03 · 星标 12026-05 · 星标 12026-06 · 星标 12026-07 · 星标 12026-08 · 星标 12026-09 · 星标 126-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-093,771—1
2026-083,631+5.2%1
2026-073,452+10.5%1
2026-063,125+6.5%1
2026-052,935—1
2026-032,337—1

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

7.3 KB · ClawHub v1.0.0
---
name: fzf-fuzzy-finder
description: Command-line fuzzy finder for interactive filtering and selection - integrates with shell, vim, and other tools.
homepage: https://github.com/junegunn/fzf
metadata: {"clawdbot":{"emoji":"🔮","requires":{"bins":["fzf"]},"install":[{"id":"brew","kind":"brew","formula":"fzf","bins":["fzf"],"label":"Install fzf (brew)"},{"id":"apt","kind":"apt","package":"fzf","bins":["fzf"],"label":"Install fzf (apt)"}]}}
---

# fzf - Fuzzy Finder

Interactive command-line fuzzy finder with powerful integration capabilities.
展开全部(共 324 行)

## Basic Usage

### Simple filtering
```bash
# Pipe list to fzf
ls | fzf

# Select file
find . -type f | fzf

# Multi-select (Tab to select, Shift+Tab to deselect)
ls | fzf -m

# Preview files while selecting
ls | fzf --preview 'cat {}'

# With bat for syntax highlighting
ls | fzf --preview 'bat --color=always {}'
```

### Shell integration
```bash
# After installing, add to ~/.bashrc or ~/.zshrc:
# source /path/to/fzf/shell/completion.bash
# source /path/to/fzf/shell/key-bindings.bash

# Key bindings:
# Ctrl+R - Command history
# Ctrl+T - File search
# Alt+C  - Directory navigation

# Use in command line
vim **<TAB>      # File completion
cd **<TAB>       # Directory completion
kill -9 **<TAB>  # Process completion
```

## Common Patterns

### File selection
```bash
# Open file in vim
vim $(fzf)

# Edit with preview
vim $(fzf --preview 'bat --color=always --line-range :500 {}')

# Select and copy
fzf | xargs -I {} cp {} /destination/

# Delete selected files
fzf -m | xargs rm
```

### Directory navigation
```bash
# CD to selected directory
cd $(find . -type d | fzf)

# Alias for quick nav
alias cdf='cd $(find . -type d | fzf)'

# Or use Alt+C keybinding
```

### Git integration
```bash
# Checkout branch
git branch | fzf | xargs git checkout

# Show commit
git log --oneline | fzf | awk '{print $1}' | xargs git show

# Add files interactively
git status -s | fzf -m | awk '{print $2}' | xargs git add

# Fuzzy git log browser
alias gll='git log --oneline | fzf --preview "git show {1}"'
```

### Process management
```bash
# Kill process
ps aux | fzf | awk '{print $2}' | xargs kill

# Kill multiple processes
ps aux | fzf -m | awk '{print $2}' | xargs kill -9
```

## Advanced Features

### Preview window
```bash
# Preview on the right
fzf --preview 'cat {}'

# Preview position and size
fzf --preview 'cat {}' --preview-window=right:50%

# Preview with bat
fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'

# Toggle preview with Ctrl+/
fzf --preview 'cat {}' --bind 'ctrl-/:toggle-preview'

# Preview directory contents
find . -type d | fzf --preview 'ls -la {}'
```

### Custom key bindings
```bash
# Execute action on selection
fzf --bind 'enter:execute(vim {})'

# Multiple bindings
fzf --bind 'ctrl-e:execute(vim {})' \
    --bind 'ctrl-o:execute(open {})'

# Reload on key press
fzf --bind 'ctrl-r:reload(find . -type f)'

# Accept non-matching input
fzf --print0 --bind 'enter:print-query'
```

### Filtering options
```bash
# Case-insensitive (default)
fzf -i

# Case-sensitive
fzf +i

# Exact match
fzf -e

# Inverse match (exclude)
fzf --query='!pattern'

# OR operator
fzf --query='py$ | js$'  # .py or .js files

# AND operator
fzf --query='test .py'  # Contains both 'test' and '.py'
```

## Integration Examples

### With ripgrep
```bash
# Search content and open in vim
rg --line-number . | fzf | awk -F: '{print "+"$2, $1}' | xargs vim

# Search and preview matches
rg --line-number . | fzf --delimiter : \
  --preview 'bat --color=always {1} --highlight-line {2}' \
  --preview-window +{2}-/2
```

### With fd
```bash
# Find and preview files
fd --type f | fzf --preview 'bat --color=always {}'

# Find files modified today
fd --changed-within 1d | fzf --preview 'bat {}'
```

### With docker
```bash
# Select and enter container
docker ps | fzf | awk '{print $1}' | xargs -I {} docker exec -it {} bash

# Remove selected images
docker images | fzf -m | awk '{print $3}' | xargs docker rmi

# View logs
docker ps | fzf | awk '{print $1}' | xargs docker logs -f
```

### With kubectl
```bash
# Select pod
kubectl get pods | fzf | awk '{print $1}' | xargs kubectl describe pod

# Get logs
kubectl get pods | fzf | awk '{print $1}' | xargs kubectl logs -f

# Delete pods
kubectl get pods | fzf -m | awk '{print $1}' | xargs kubectl delete pod
```

## Useful Aliases

Add to your shell config:

```bash
# Fuzzy file search and open in vim
alias fv='vim $(fzf --preview "bat --color=always --style=numbers {}")'

# Fuzzy directory change
alias fcd='cd $(find . -type d | fzf)'

# Fuzzy git checkout
alias gco='git branch | fzf | xargs git checkout'

# Fuzzy process kill
alias fkill='ps aux | fzf | awk "{print \$2}" | xargs kill -9'

# Fuzzy history search (Ctrl+R is built-in)
alias fh='history | fzf | awk "{print \$2}" | xargs -I {} sh -c "{}"'

# Find and edit
alias fe='fd --type f | fzf --preview "bat --color=always --style=numbers {}" | xargs -r $EDITOR'
```

## Configuration

### Environment variables
```bash
# Default options
export FZF_DEFAULT_OPTS='
  --height 40%
  --layout=reverse
  --border
  --inline-info
  --preview "bat --style=numbers --color=always --line-range :500 {}"
'

# Use fd instead of find
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'

# For Ctrl+T
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"

# For Alt+C
export FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git'
```

### Color scheme
```bash
export FZF_DEFAULT_OPTS='
  --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8
  --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc
  --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8
'
```

## Advanced Workflows

### Project file browser
```bash
# Smart file browser with preview
fzf \
  --preview 'bat --color=always --style=numbers --line-range=:500 {}' \
  --preview-window='right:60%:wrap' \
  --bind 'enter:execute(vim {})' \
  --bind 'ctrl-y:execute-silent(echo {} | pbcopy)+abort' \
  --header 'Enter: edit | Ctrl+Y: copy path'
```

### Multi-purpose search
```bash
# Search in files and navigate to line
rg --line-number --no-heading . | \
  fzf --delimiter=: \
      --preview 'bat --color=always --style=numbers --highlight-line {2} {1}' \
      --preview-window='+{2}-/2' \
      --bind 'enter:execute(vim {1} +{2})'
```

### Docker container manager
```bash
#!/bin/bash
# docker-fzf.sh
container=$(docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Image}}" | fzf --header-lines=1 | awk '{print $1}')
if [ -n "$container" ]; then
    docker exec -it "$container" bash
fi
```

## Tips

- Use `--preview` for visual context
- Combine with `bat`, `rg`, `fd` for powerful workflows
- Press `?` in fzf to see keybindings
- Use `Tab` for multi-select
- `Ctrl+/` to toggle preview (if bound)
- `Ctrl+K` / `Ctrl+J` to navigate
- Start query with `'` for exact match
- Start with `!` to exclude
- Use `|` for OR, space for AND
- Set `FZF_DEFAULT_OPTS` for persistent config

## Performance

```bash
# For large file lists, use fd or rg
export FZF_DEFAULT_COMMAND='fd --type f'

# Limit depth for faster results
export FZF_DEFAULT_COMMAND='fd --type f --max-depth 5'

# Use parallel preview
fzf --preview 'bat {}' --preview-window 'hidden'
```

## Documentation

GitHub: https://github.com/junegunn/fzf
Wiki: https://github.com/junegunn/fzf/wiki
Examples: https://github.com/junegunn/fzf/wiki/examples

「开发编程」分类下的热门技能

Arnarsson 的其他技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。