使用 Linux 自动化工具提高生产率
创始人
2024-03-02 07:17:48
0

用 AutoKey 配置你的键盘,纠正常见的错别字,输入常用的短语等等。

AutoKey 是一个开源的 Linux 桌面自动化工具,一旦它成为你工作流程的一部分,你就会想,如何没有它,那该怎么办。它可以成为一种提高生产率的变革性工具,或者仅仅是减少与打字有关的身体压力的一种方式。

本文将研究如何安装和开始使用 AutoKey ,介绍一些可以立即在工作流程中使用的简单方法,并探讨 AutoKey 高级用户可能会感兴趣的一些高级功能。

安装并设置 AutoKey

AutoKey 在许多 Linux 发行版中都是现成的软件包。该项目的 安装指南 包含许多平台的说明,也包括了从源代码进行构建的指导。本文使用 Fedora 作为操作平台。

AutoKey 有两个变体:为像 GNOME 等基于 GTK 环境而设计的 autokey-gtk 和基于 QT 的 autokey-qt。

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

sudo dnf install autokey-gtk

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

探究界面

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

autokey-gtk -c

AutoKey 提供了一些预设配置的示例。你可能希望在熟悉 UI 时将他们留作备用,但是可以根据需要删除它们。

AutoKey 用户界面

左侧窗格包含一个文件夹式的短语和脚本的层次结构。“ 短语 Phrases ” 代表要让 AutoKey 输入的文本。“ 脚本 Scripts ” 是动态的、程序化的等效项,可以使用 Python 编写,并且获得与键盘击键发送到活动窗口基本相同的结果。

右侧窗格构建和配置短语和脚本。

对配置满意后,你可能希望在登录时自动运行 AutoKey,这样就不必每次都启动它。你可以通过在 “ 首选项 Preferences ”菜单(“ 编辑 -> 首选项 Edit -> Preferences” ”)中勾选 “ 登录时自动启动 AutoKey Automatically start AutoKey at login ”进行配置。

登录时自动启动 AutoKey

使用 AutoKey 纠正常见的打字排版错误

修复常见的打字排版错误对于 AutoKey 来说是一个容易解决的问题。例如,我始终键入 “gerp” 来代替 “grep”。这里是如何配置 AutoKey 为你解决这些类型问题。

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

在 “ 文件 -> 新建 -> 短语 File -> New -> Phrase ” 中创建一个新短语。并将其称为 “grep”。

通过高亮选择短语 “grep”,然后在 输入短语内容 Enter phrase contents 部分(替换默认的 “Enter phrase contents” 文本)中输入 “grep” ,配置 AutoKey 插入正确的关键词。

接下来,通过定义缩写来设置 AutoKey 如何触发此短语。点击用户界面底部紧邻 “ 缩写 Abbreviations ” 的 “ 设置 Set ”按钮。

在弹出的对话框中,单击 “ 添加 Add ” 按钮,然后将 “gerp” 添加为新的缩写。勾选 “ 删除键入的缩写 Remove typed abbreviation ”;此选项让 AutoKey 将任何键入 “gerp” 一词的替换为 “grep”。请不要勾选“ 在键入单词的一部分时触发 Trigger when typed as part of a word ”,这样,如果你键入包含 “grep”的单词(例如 “fingerprint”),就不会尝试将其转换为 “fingreprint”。仅当将 “grep” 作为独立的单词键入时,此功能才有效。

在 AutoKey 中设置缩写

限制对特定应用程序的更正

你可能希望仅在某些应用程序(例如终端窗口)中打字排版错误时才应用校正。你可以通过设置 窗口过滤器 Window Filter 进行配置。单击 “ 设置 Set ” 按钮来定义。

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

  1. 启动一个新的终端窗口。
  2. 返回 AutoKey,单击 “ 检测窗口属性 Detect Window Properties ”按钮。
  3. 单击终端窗口。

这将自动填充窗口过滤器,可能的窗口类值为 gnome-terminal-server.Gnome-terminal。这足够了,因此单击 “OK”。

AutoKey 窗口过滤器

保存并测试

对新配置满意后,请确保将其保存。 单击 “ 文件 File ” ,然后选择 “ 保存 ( Save ) ” 以使更改生效。

现在进行重要的测试!在你的终端窗口中,键入 “gerp” 紧跟一个空格,它将自动更正为 “grep”。要验证窗口过滤器是否正在运行,请尝试在浏览器 URL 栏或其他应用程序中键入单词 “gerp”。它并没有变化。

你可能会认为,使用 shell 别名 可以轻松解决此问题,我完全赞成!与别名不同,只要是面向命令行,无论你使用什么应用程序,AutoKey 都可以按规则纠正错误。

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

键入常用短语

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

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

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

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

分配热键

接下来,也是最关键的一点,我为子文件夹分配了一个 “ 热键 hotkey ”。每当我按下该热键时,它都会打开一个菜单,我可以在其中选择(要么使用 “方向键”+回车键要么使用数字)要插入的短语。这减少了我仅需几次击键就可以输入这些命令的击键次数。

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

高级自动键入

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

AutoKey 用户非常欢迎这项功能,发布了自定义脚本供其他用户采用。例如,NumpadIME 脚本 将数字键盘转换为旧的手机样式的文本输入方法,Emojis-AutoKey 可以通过将诸如: :smile: 之类的短语转换为它们等价的表情符号来轻松插入。

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

from time import sleep

# 发送 Tmux 命令前缀(b 更改为 s)
keyboard.send_keys("+s")
# Enter copy mode
keyboard.send_key("[")
sleep(0.01)
# Move cursor up one line
keyboard.send_keys("k")
sleep(0.01)
# Move cursor to start of line
keyboard.send_keys("0")
sleep(0.01)
# Start mark
keyboard.send_keys(" ")
sleep(0.01)
# Move cursor to end of word
keyboard.send_keys("e")
sleep(0.01)
# Add to copy buffer
keyboard.send_keys("+m")

之所以有 sleep 函数,是因为 Tmux 有时无法跟上 AutoKey 发送击键的速度,并且它们对整体执行时间的影响可忽略不计。

使用 AutoKey 自动化

我希望你喜欢这篇使用 AutoKey 进行键盘自动化的探索,它为你提供了有关如何改善工作流程的一些好主意。如果你在使用 AutoKey 时有什么有用的或新颖的方法,一定要在下面的评论中分享。


via: https://opensource.com/article/21/2/linux-autokey

作者:Matt Bargenquast 选题:lujun9972 译者:stevenzdg988 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

从用户心智到AI心智 灵狐...
摘要:AI营销专家灵狐强调品牌需在全域AI中保持统一清晰认知。其A...
2026-04-08 19:21:06
小米原生键盘应用重大更新:...
【CNMO科技消息】近日,据外媒报道,小米公司正式发布了原生键盘应...
2026-03-31 13:36:12
Codex vs Clau...
AIPress.com.cn报道 最近关于Claude Code和...
2026-03-29 21:53:01
武汉市三联自动化取得燃烧平...
国家知识产权局信息显示,武汉市三联自动化有限责任公司取得一项名为“...
2026-03-28 14:48:50
普华永道美国公司要求员工拥...
普华永道的合伙人必须拥抱人工智能,否则将面临被淘汰的风险。 这家咨...
2026-03-26 01:37:41
原创 ...
AI+智能自动化如何破解信用管理数据难题? 如何使用智能化工具让...
2026-03-17 17:27:25

热门资讯

PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...