AutoKey是一个开源的 Linux 桌面自动化工具,一旦它成为您工作流程的一部分,您会想知道如果没有它,您是如何管理的。它可以是提高工作效率的变革性工具,也可以是减轻与打字相关的身体压力的一种方式。

本文将介绍如何安装和开始使用 AutoKey,介绍一些您可以立即在工作流程中使用的简单方法,并探索 AutoKey 高级用户可能会觉得有吸引力的一些高级功能。

安装和设置 AutoKey

AutoKey 在许多 Linux 发行版上作为软件包提供。该项目的安装指南包含许多平台的说明,包括从源代码构建。本文使用 Fedora 作为操作平台。

AutoKey 有两种变体:autokey-gtk,专为基于GTK\ 的环境(例如 GNOME)和 autokey-qt,它基于QT\ 设计。

您可以从命令行安装任一变体:

sudo dnf install autokey-gtk

安装后,使用autokey-gtk(或autokey-qt)运行它。

探索界面

在将 AutoKey 设置为在后台运行并自动执行操作之前,您首先需要对其进行配置。调出配置用户界面 (UI):

autokey-gtk -c

AutoKey 预配置了一些示例。您可能希望在熟悉 UI 时留下它们,但如果您愿意,可以删除它们。

自动键用户界面

图片来源:

(马特·巴根夸斯特,CC BY-SA 4.0)

左窗格包含基于文件夹的短语和脚本层次结构。 Phrases 是您希望 AutoKey 代表您输入的文本。 Scripts 是动态的、程序化的等价物,可以使用 Python 编写并实现基本相同的结果,即让键盘将击键发送到活动窗口。

右窗格是构建和配置短语和脚本的位置。

一旦您对配置感到满意,您可能希望在登录时自动运行 AutoKey,这样您就不必每次都启动它。您可以在 Preferences 菜单(Edit -> Preferences)中配置此项,方法是选择 Automatically start AutoKey at login

登录时自动启动 AutoKey

图片来源:

(马特·巴根夸斯特,CC BY-SA 4.0)

使用 AutoKey 更正常见的拼写错误

更多 Linux 资源

  • Linux 命令备忘单

  • 高级 Linux 命令备忘单

  • 免费在线课程:RHEL 技术概述

  • Linux 网络备忘单

  • SELinux 备忘单

  • Linux常用命令备忘单

  • 什么是 Linux 容器?

  • 我们最新的 Linux 文章

修复常见的拼写错误是 AutoKey 修复的一个简单问题。例如,我一直键入“gerp”而不是“grep”。以下是如何配置 AutoKey 来为您解决这些类型的问题。

创建一个新的子文件夹,您可以在其中对所有“错字更正”配置进行分组。在左侧窗格中选择 My Phrases,然后选择 File -> New -> Subfolder。将子文件夹命名为 Typos

File -> New -> Phrase 中创建一个新短语,并将其命名为“grep”。

通过突出显示短语“grep”然后在输入短语内容部分中输入“grep”来配置 AutoKey 以插入正确的单词(替换默认的“输入短语内容”文本)。

接下来,通过定义缩写来设置 AutoKey 如何触发此短语。单击 UI 底部的 Abbreviations 旁边的 Set 按钮。

在弹出的对话框中,点击Add按钮,添加“gerp”作为新的缩写。保留删除键入的缩写选中;这就是指示 AutoKey 将任何键入的单词“gerp”替换为“grep”的原因。将 Trigger when typed as part of a word 保留为未选中状态,这样如果您键入包含“gerp”的单词(例如“fingerprint”),它_不会_尝试将其转换为“fingreprint”。它仅在“gerp”作为孤立词输入时才有效。

在 AutoKey 中设置缩写

图片来源:

(马特·巴根夸斯特,CC BY-SA 4.0)

限制对特定应用的修正

您可能希望仅在某些应用程序(例如终端窗口)中输入错字时应用更正。您可以通过设置窗口过滤器来配置它。单击 Set 按钮定义一个。

设置窗口过滤器的最简单方法是让 AutoKey 为您检测窗口类型:

  1. 启动一个新的终端窗口。

  2. 返回 AutoKey,单击 Detect Window Properties 按钮。

  3. 单击终端窗口。

这将自动填充窗口过滤器,窗口类值可能为gnome-terminal-server.Gnome-terminal。这样就足够了,所以点击 OK

AutoKey 窗口过滤器

图片来源:

<p classu003d"rtecenter"><sup>(Matt Bargenquast, <a hrefu003d"https://opensource.com/%3Ca%20href%3D"https://creativecommons.org/licenses/by-sa/4.0 /" relu003d"ugc">https://creativecommons.org/licenses/by-sa/4.0/" targetu003d"_blank">CC BY-SA 4.0</a>)</sup></p>

保存测试

对新配置感到满意后,请务必保存。单击 File 并选择 Save 以激活更改。

现在进行大测试!在您的终端窗口中,键入“gerp”后跟一个空格,它应该会自动更正为“grep”。要验证窗口过滤器是否正常工作,请尝试在浏览器 URL 栏或其他应用程序中输入单词“gerp”。它不应该改变。

您可能认为这个问题可以通过shell 别名轻松解决,我完全同意!与面向命令行的别名不同,无论您使用什么应用程序,AutoKey 都可以纠正错误。

例如,我在浏览器、集成开发环境和终端中输入的另一个常见错误是“openshfit”而不是“openshift”。别名不能完全解决这个问题,而 AutoKey 可以在任何情况下纠正它。

使用 AutoKey 键入常用短语

您可以通过多种其他方式调用 AutoKey 的短语来帮助您。例如,作为一名在 OpenShift 上工作的站点可靠性工程师 (SRE),我经常在命令行中键入 Kubernetes 命名空间名称:

oc get pods -n openshift-managed-upgrade-operator

这些命名空间是静态的,因此它们是 AutoKey 在键入临时命令时可以为我插入的理想短语。

为此,我创建了一个名为 Namespaces 的短语子文件夹,并为我经常键入的每个命名空间添加了一个短语条目。

分配热键

接下来,也是最关键的,我为子文件夹分配了一个热键。每当我按下该热键时,它都会打开一个菜单,我可以在其中选择(使用 箭头键+Enter 或使用数字)我要插入的短语。这减少了我输入这些命令所需的击键次数,只需几次击键。

My Phrases 文件夹中 AutoKey 的预配置示例使用 Ctrl+F7 热键进行配置。如果您将示例保留在 AutoKey 的默认配置中,请尝试一下。您应该会看到一个包含所有可用短语的菜单。使用数字键或箭头键选择您想要的项目。

高级自动键控

AutoKey 的脚本引擎允许用户运行可以通过相同的缩写和热键系统调用的 Python 脚本。这些脚本可以通过支持的 API 函数执行诸如切换窗口、发送击键或执行鼠标点击等操作。

AutoKey 用户通过发布自定义脚本供其他人采用来接受此功能。例如,NumpadIME 脚本将数字键盘转换为旧的手机式文本输入方法,而Emojis-AutoKey通过将:smile:等短语转换为相应的表情符号来轻松插入表情符号。

这是我设置的一个小脚本,它进入 Tmux 的复制模式,将前一行中的第一个单词复制到粘贴缓冲区中:

从时间导入睡眠

发送tmux命令前缀(由b改为s)

键盘.sendkeys("<ctrl>+s")

进入复制模式

键盘.send_key("[")

睡眠(0.01)

光标上移一行

键盘.send_keys("k")

睡眠(0.01)

将光标移动到行首

键盘.send_keys("0")

睡眠(0.01)

开始标记

键盘.sendkeys("")

睡眠(0.01)

将光标移动到词尾

键盘.send_keys("e")

睡眠(0.01)

添加到复制缓冲区

键盘.sendkeys("<ctrl>+m")

睡眠在那里是因为有时 Tmux 无法跟上 AutoKey 发送击键的速度,并且它们对整体执行时间的影响可以忽略不计。

使用 AutoKey 进行自动化

我希望您喜欢这次使用 AutoKey 进行键盘自动化的探索,它为您提供了一些关于它如何改进您的工作流程的好主意。如果您以有用或新颖的方式使用 AutoKey,请务必在下面的评论中分享。

Logo

更多推荐