← 返回 Skills 市场
2424
总下载
1
收藏
7
当前安装
1
版本数
在 OpenClaw 中安装
/install fzf-fuzzy-finder
功能描述
Command-line fuzzy finder for interactive filtering and selection - integrates with shell, vim, and other tools.
使用说明 (SKILL.md)
fzf - Fuzzy Finder
Interactive command-line fuzzy finder with powerful integration capabilities.
Basic Usage
Simple filtering
# 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
# 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 **\x3CTAB> # File completion
cd **\x3CTAB> # Directory completion
kill -9 **\x3CTAB> # Process completion
Common Patterns
File selection
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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:
# 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
# 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
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
# 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
# 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
#!/bin/bash
# docker-fzf.sh
container=$(docker ps --format "table {{.Names}} {{.Status}} {{.Image}}" | fzf --header-lines=1 | awk '{print $1}')
if [ -n "$container" ]; then
docker exec -it "$container" bash
fi
Tips
- Use
--previewfor visual context - Combine with
bat,rg,fdfor powerful workflows - Press
?in fzf to see keybindings - Use
Tabfor multi-select Ctrl+/to toggle preview (if bound)Ctrl+K/Ctrl+Jto navigate- Start query with
'for exact match - Start with
!to exclude - Use
|for OR, space for AND - Set
FZF_DEFAULT_OPTSfor persistent config
Performance
# 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
安全使用建议
This SKILL.md is a legitimate usage guide for fzf, but before installing or copying examples into your shell config: 1) prefer installing fzf from your OS package manager (brew/apt) or the official GitHub release URL listed on the homepage; 2) review any example that executes or deletes things (xargs rm, kill, docker rmi, kubectl delete) — don't run them blindly; 3) be especially cautious with aliases that execute selected history lines or pipe selections to sh -c (these can run arbitrary commands); 4) if you rely on specific auxiliary tools (bat, fd, rg, docker, kubectl), install them separately and understand their privileges; and 5) correct the minor metadata discrepancy (registry lists no required binary but SKILL.md expects fzf) before relying on automated install tooling.
功能分析
Type: OpenClaw Skill
Name: fzf-fuzzy-finder
Version: 1.0.0
The skill bundle provides documentation and examples for using `fzf`, a command-line fuzzy finder. The `_meta.json` is standard. The `SKILL.md` primarily serves as a user guide, demonstrating various legitimate uses of `fzf` with other command-line tools like `git`, `docker`, `kubectl`, `rm`, and `kill`. While these commands are powerful, they are presented as interactive, user-initiated actions and are core to `fzf`'s functionality. There is no evidence of intentional harmful behavior such as data exfiltration, unauthorized remote control, persistence mechanisms, or prompt injection attempts against the AI agent. The only direct instructions for the agent are to install `fzf` via standard package managers (`brew` or `apt`), which is a benign and necessary setup step.
能力评估
Purpose & Capability
The SKILL.md and description consistently document fzf usage (shell, vim, git, docker, kubectl integrations). However the registry metadata shown to you earlier lists no required binaries/env, while the SKILL.md frontmatter declares a requirement for the 'fzf' binary and provides install steps (brew/apt). The examples also reference many optional tools (bat, fd, rg, docker, kubectl) that are reasonable for examples but are not declared as optional dependencies.
Instruction Scope
The instructions are typical usage examples but include commands that can be destructive or execute arbitrary code (e.g., piping fzf selection to xargs rm or kill, docker rmi, kubectl delete pod, aliases that run selected history entries with sh -c). Those are valid fzf use cases, but they broaden the risk surface: anyone who follows examples without review can delete files, kill processes, remove images, delete pods, or execute arbitrary commands. The SKILL.md also suggests sourcing shell files and modifying ~/.bashrc or ~/.zshrc which is expected but should be done carefully.
Install Mechanism
There is no top-level install spec in the registry entry, but the SKILL.md frontmatter includes install metadata pointing to standard package managers (brew formula 'fzf' and apt package 'fzf'), which are appropriate and lower-risk. The inconsistency between the registry install metadata and the SKILL.md frontmatter is a discrepancy worth noting. The skill does not attempt to download code from arbitrary URLs.
Credentials
The skill does not request credentials, secrets, or config paths. The only environment interactions are suggestions to set non-sensitive FZF_* environment variables for defaults, which are proportionate to the purpose.
Persistence & Privilege
The skill is user-invocable and not marked always:true. It does not request persistent privileges or to modify other skills. Suggested actions include editing shell startup files (normal for shell integration) but there is no attempt to force-enable itself or claim system-wide changes beyond the user's shell config.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install fzf-fuzzy-finder - 安装完成后,直接呼叫该 Skill 的名称或使用
/fzf-fuzzy-finder触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of fzf-fuzzy-finder skill:
- Provides concise CLI usage and common shell command patterns integrating fzf.
- Includes examples for file, directory, git, docker, and kubectl workflows.
- Offers tips for customization via environment variables, aliases, and color scheme.
- Advanced usage and integration examples with tools like bat, ripgrep, and fd.
- Quick reference for performance, keybindings, and workflow enhancements.
元数据
常见问题
Fzf Fuzzy Finder 是什么?
Command-line fuzzy finder for interactive filtering and selection - integrates with shell, vim, and other tools. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2424 次。
如何安装 Fzf Fuzzy Finder?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install fzf-fuzzy-finder」即可一键安装,无需额外配置。
Fzf Fuzzy Finder 是免费的吗?
是的,Fzf Fuzzy Finder 完全免费(开源免费),可自由下载、安装和使用。
Fzf Fuzzy Finder 支持哪些平台?
Fzf Fuzzy Finder 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Fzf Fuzzy Finder?
由 Arnarsson(@arnarsson)开发并维护,当前版本 v1.0.0。
推荐 Skills