尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

一次拖放多个文件:ripdrag多选与全选模式的实战技巧

一次拖放多个文件:ripdrag多选与全选模式的实战技巧 一次拖放多个文件ripdrag多选与全选模式的实战技巧【免费下载链接】ripdragDrag and Drop utilty written in Rust and GTK4项目地址: https://gitcode.com/gh_mirrors/ri/ripdragripdrag 是一款基于 Rust 和 GTK4 开发的拖放工具Drag and Drop Utility它让你告别文件管理器直接在终端里把多个文件拖进任意应用窗口。本文将从零开始详解 ripdrag 的多选模式、全选按钮模式与紧凑全选模式并分享搭配 fzf 的高效实战技巧。ripdrag是什么终端里的文件拖放利器很多场景下目标应用只接受拖进来的文件上传附件、发送图片、导入文档……过去你不得不在文件管理器与应用之间来回切换。ripdrag 正是为此而生它是一个纯命令行程序用现代 Rust 与 GTK4 编写功能上与经典的 dragon 拖放工具兼容却拥有更干净的代码与更流畅的体验。核心工作方式只有三步在终端输入ripdrag加文件路径屏幕上弹出带文件图标的小窗口把窗口里的文件直接拖到目标应用中完成关键点在于ripdrag 默认就支持一次拖放多个文件并且提供了多种批量拖放模式。接下来逐一实战。快速安装ripdrag一行命令搞定安装 ripdrag 推荐直接使用 Cargocargo install ripdrag如果还没把 Cargo 的 bin 目录加入 PATH可以执行PATH$PATH:~/.cargo/bin依赖方面Ubuntu 22.04 需要libgtk-4-dev和build-essentialArch 用户可直接从 AUR 安装ripdrag-gitNetBSD 用户执行pkgin install ripdrag即可非常省心。基础用法一次拖放多个文件的三种姿势ripdrag 支持把多个文件打包成一次拖放操作下面三种姿势覆盖了绝大多数使用场景。姿势一命令行直接传入多个路径最直观的方法就是一次性把多个文件路径传给 ripdragripdrag report.pdf 图片1.png 图片2.png notes.txt执行后弹出的窗口会列出全部 4 个文件把它们一起拖到目标应用一次搞定。这是 ripdrag 最基础、也最常用的批量拖放方式适合已知文件清单的场景。姿势二列表多选模式Ctrl / Shift 多选当传入的文件很多时你可能会想我只想拖其中几个。ripdrag 的列表视图底层使用了 GTK4 的MultiSelection多选模型因此天然支持标准的键盘多选操作Ctrl 单击逐个勾选或取消文件Shift 单击连续选中一段文件。选中多个文件后按住任意一个已选中的文件拖动ripdrag 就会把全部选中的文件一起拖出去。其核心逻辑在src/list_view.rs的create_drag_source中拖动时会判断当前拖动的行是否在选中集合里如果在就打包所有选中文件如果不在则清空选择、只拖当前这一个文件。这个设计非常聪明——需要多选时用 Ctrl 勾选想单拖时直接拖未选中的行两种行为互不干扰。姿势三全选按钮模式--all如果你确定全部都要拖只需加上-a--all参数ripdrag -a 照片目录/*窗口顶部会出现一个醒目的Drag All Items全部拖放按钮把整个列表中的所有文件一次性打包拖走无需手动全选。该按钮由src/list_view.rs中的create_outer_box创建与列表视图共享同一个拖放数据源实现简洁而可靠。深度对比--all 全选模式与 --all-compact 紧凑全选模式除了上面两种ripdrag 还提供了一个极端的全选模式——-A--all-compact。三种界面对比如下模式界面效果最佳适用场景默认列表模式逐个显示文件的图标与路径需要挑选部分文件、核对清单-a/--all文件列表 顶部全部拖放按钮既要看清单又要一键全拖-A/--all-compact只显示N elements数字只想快速拖走一批文件不在乎列表紧凑全选模式由src/compact_view.rs实现整个窗口只显示一个数字标签比如 42 elements鼠标悬停时会提示 Drag 42 elements拖住这个数字即可一次性拖出全部 42 个文件。当文件数量高达几十上百个时这种模式几乎没有界面渲染负担拖放响应飞快是批量搬运文件的最速方案。实战技巧ripdrag 与 fzf 的组合拳ripdrag 最亮眼的玩法是搭配模糊查找器 fzf 一起使用ripdrag $(fzf)先用 fzf 在终端里交互式搜索、按 Tab 多选你需要的文件再把选中的路径交给 ripdrag 弹出拖放窗口最后拖入目标应用。整个过程双手不离键盘堪称终端拖放的效率天花板。此外ripdrag 还支持-I--from-stdin从标准输入逐行读取路径配合find、ls等命令的管道输出同样可行find . -name *.png | ripdrag -I在src/main.rs的listen_to_stdin函数中程序会逐行解析标准输入并自动过滤掉不存在的路径剩余文件会实时追加到拖放列表中交互体验相当顺滑。更多实用参数一览想把 ripdrag 玩得更顺手下面这些参数值得收藏参数作用-x/--and-exit拖放成功后立即退出适合脚本化调用-b/--basename列表只显示文件名不显示完整路径-i/--icons-only只显示图标隐藏文字标签-s/--icon-size自定义图标尺寸默认 32-d/--disable-thumbnails关闭图片缩略图提升大目录性能-t/--target反向模式让窗口成为接收端接受其他应用拖入的文件-k/--keep配合--target把拖入的文件暂存在列表中便于再拖走小结ripdrag 用优雅的 Rust GTK4 实现把终端拖放文件这一体验做到了极致。无论是ripdrag 文件1 文件2的直接多文件拖放、列表里的 Ctrl/Shift 多选、-a的全选按钮还是-A的紧凑全选模式总有一种方式能让你的多文件拖放更加顺手。快装上它把终端与图形应用之间的最后一步拖拽也省下来吧【免费下载链接】ripdragDrag and Drop utilty written in Rust and GTK4项目地址: https://gitcode.com/gh_mirrors/ri/ripdrag创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表