我经常复制小的单独文本片段并将它们粘贴到其他地方。之后,我总是需要以定义明确的方式编辑粘贴的结果,这可以通过类似于 egsed
的s/PATTERN/REPLACEMENT/
命令的正则表达式替换来描述。
我想通过让脚本在复制和粘贴之间的某个时间自动处理我的剪贴板缓冲区的内容并通过应用配置的正则表达式替换来修改它来自动化此任务的编辑部分。
实际的正则表达式模式和替换应由用户在脚本启动时输入,并且它也应该以某种方式表明它正在运行,例如通过打开一个小对话窗口并在每次进行修改时发送桌面通知.
我经常复制小的单独文本片段并将它们粘贴到其他地方。之后,我总是需要以定义明确的方式编辑粘贴的结果,这可以通过类似于 egsed
的s/PATTERN/REPLACEMENT/
命令的正则表达式替换来描述。
我想通过让脚本在复制和粘贴之间的某个时间自动处理我的剪贴板缓冲区的内容并通过应用配置的正则表达式替换来修改它来自动化此任务的编辑部分。
实际的正则表达式模式和替换应由用户在脚本启动时输入,并且它也应该以某种方式表明它正在运行,例如通过打开一个小对话窗口并在每次进行修改时发送桌面通知.
介绍
发布问题的方式不仅需要一个简单的脚本,还需要一个用于启用/禁用脚本的 GUI 界面。我发现通过可以从 Ubuntu 顶部面板访问的应用程序指示器来实现会更容易。这个答案正是将其作为一种解决方案。
我专门为这个
clipboard-autoedit-indicator
问题编写的 允许基于正则表达式(选择sed
或 python 的re
样式)自动编辑剪贴板内容。它使用 Gtk 的剪贴板模块和最小依赖项,因此无需安装额外的工具,例如xclip
或xsel
.安装
在终端中运行以下命令:
用法
可以通过键入 Unity Dash或通过命令行
Clipboard Autoedit
调用来启动该指标。/usr/bin/clipboard-autoedit-indicator
当启用/禁用剪贴板的动态编辑时,将显示两个指示器图标(彩色和灰色剪贴板图标)。发生编辑时,会向用户发送通知。“设置正则表达式模式”菜单项调用
zenity
表单对话框。当用户编辑正则表达式规则时,它会被记住并存储在~/.clipboard-autoedit-config.json
文件中。当用户单击按钮时,动态编辑将自动启用OK,但用户可以通过“Replacement Enabled”检查菜单项禁用它。正则表达式类型默认为 python 的re
模块。源代码
源代码可在GitHub 上的 MIT 许可下获得。将会有进一步的开发和更新版本,如果您有功能请求和/或错误报告,请在 GitHub 上提交。
这很简单
xclip
。notify-send
对于包中的通知位libnotify-bin
应该适合您的需要。您可能需要先安装软件包:将以下内容放入脚本并使用键绑定使其可运行: