tmux-fzf-url进阶玩法用fzf-url-extra-filter自定义提取文件名、IP等任意内容【免费下载链接】tmux-fzf-url Quickly open urls on your terminal screen!项目地址: https://gitcode.com/gh_mirrors/tm/tmux-fzf-urltmux-fzf-url 是一款强大的 tmux 插件能在终端画面中快速提取并打开 URL、IP、Git 仓库等链接。它的进阶玩法——fzf-url-extra-filter配置项让你用一行 grep 命令自定义提取文件名、邮箱、IP 等终端屏幕上的任意内容本文将带你完整掌握这一 tmux 技巧。 一键安装步骤使用tmux-fzf-url前需先安装fzf和bash。方式一通过 TPM 安装推荐在 tmux 配置文件中添加set -g plugin wfxr/tmux-fzf-url然后按prefix I自动完成安装。方式二手动安装git clone https://gitcode.com/gh_mirrors/tm/tmux-fzf-url在 tmux 配置文件中 source 插件目录下的fzf-url.tmux文件即可。 快速上手默认按键与基本用法安装完成后默认按键为prefix u先按前缀键再按 u。按下后插件捕获当前终端屏幕内容fzf-url.sh中通过tmux capture-pane实现自动提取 URL、www 域名、IP、git 仓库等弹出 fzf 模糊搜索列表回车即可用浏览器打开 提示支持标记多个结果一次性打开选中时按ctrl-t即可多选。 fzf-url-extra-filter 是什么这是tmux-fzf-url最强大的扩展点它接受一段bash 命令本质是管道命令通常使用grep -oE对捕获的屏幕内容做额外提取。提取结果会与默认结果合并一起进入 fzf 列表。工作原理可以这样理解见 fzf-url.sh 第 46-48 行# 伪代码将屏幕内容通过你的自定义管道提取 extras$(echo $content | eval $1)也就是说只要你的 grep 管道能从文本中抠出想要的东西它就会出现在结果列表里。 实战1自定义提取文件名想快速提取终端中出现的.txt文件名例如日志输出里的report.txt在 tmux 配置中添加# 提取形如 abc.txt 的文件名 set -g fzf-url-extra-filter grep -oE \b[a-zA-Z]\.txt\b常用文件提取正则参考目标内容grep 正则所有 txt 文件grep -oE \b[a-zA-Z]\.txt\b所有 py 文件grep -oE \b[a-zA-Z0-9_]\.py\b所有 json 文件grep -oE \b[a-zA-Z0-9_/.]\.json\b任意路径文件grep -oE [a-zA-Z0-9_/.-]\.(txt|log|csv|json) 实战2IP 地址与主机名提取好消息是IP 地址是tmux-fzf-url内置提取的源码中ips一行已支持 IPv4可选带端口自动补上http://前缀。所以看到192.168.1.10:8080这类输出直接prefix u就能提取。如果默认规则不够用可以进一步自定义# 提取形如 host:port 的主机名含端口 set -g fzf-url-extra-filter grep -oE [a-zA-Z0-9.-]:[0-9]{2,5}再比如提取邮件地址set -g fzf-url-extra-filter grep -oE [a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}⚙️ 完整配置指南与其他参数组合tmux-fzf-url支持四个核心配置项组合使用效果最佳# 自定义按键默认 u set -g fzf-url-bind x # 自定义提取管道本文主角 set -g fzf-url-extra-filter grep -oE \b[a-zA-Z0-9_/.-]\.(txt|log|py) # 捕获滚动历史默认只捕获当前屏幕设为 2000 可回溯 2000 行 set -g fzf-url-history-limit 2000 # 自定义打开命令默认依次尝试 xdg-open / open / $BROWSER set -g fzf-url-open firefox 小技巧配合fzf-url-history-limit即使文件名早已滚出屏幕也能从历史记录中提取——tmux capture-pane加-S -2000即可回溯。️ 内置提取规则一览tmux-fzf-url默认已内置 5 类提取规则见 fzf-url.sh 第 40-44 行类型示例处理方式URLhttps://example.com原样提取www 域名www.foo.com自动补http://IP 地址10.0.0.1:8080自动补http://git 仓库gitgithub.com:u/r.git转为https://引用式仓库名user/repo补全为 GitHub 链接所有提取结果会经sort -u去重后进入 fzf 列表因此自定义提取不会造成重复项。❓ 常见问题Q为什么配置后没生效确认写的是set -g fzf-url-extra-filter引号内是一段合法的 bash 管道命令修改配置后重启 tmux 或重新加载配置。Q能提取的内容会被浏览器打开吗会。提取到的字符串都会经过fzf-url-open指定的命令默认浏览器打开。若只想提取文本不想打开建议把fzf-url-open指向你需要的处理脚本。Qgrep 正则写错了怎么办先单独在 shell 里测试你的管道命令确认输出符合预期后再写入 tmux 配置。✅ 总结tmux-fzf-url用一个fzf-url-extra-filter配置项把简单的URL 打开器变成了通用的终端内容提取器文件名、IP、邮箱、任意模式文本……一条 grep 命令即可纳入 fzf 列表。掌握它终端操作效率再上一个台阶 【免费下载链接】tmux-fzf-url Quickly open urls on your terminal screen!项目地址: https://gitcode.com/gh_mirrors/tm/tmux-fzf-url创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考