如何在 Linux 上使用 AutoKey 自动重复打字(文本扩展)

[ad_1]

文本扩展(或替换)通过将缩写转换为一长串文本来帮助您节省时间。 通过在任何应用程序中快速插入您需要经常输入的短语、地址、代码等,使用它来提高您的工作效率。

本文解释了如何使用 AutoKey(一种适用于 Linux / X11 的桌面自动化实用程序)自动重复键入
. 使用它,无论您使用什么应用程序,您都可以减少输入并完成更多工作,因为文本扩展/替换适用于任何应用程序 – Web 浏览器、文本或代码编辑器等。

例如,您可以键入
addr

,然后按
Space

,
Tab

或者
Enter

, AutoKey 将其扩展为您的完整地址。 或者您可以在 AutoKey 中设置键盘快捷键,然后按下它会自动在聚焦的应用程序中输入您的地址(或您喜欢的任何其他文本)。 还有更高级的用例,例如选择一些文本并将其包装在代码块中。

值得注意的是,由于这是一个X11应用程序,如果您使用Wayland,它将无法正常工作
(例如 Fedora 默认使用 Wayland; 如果要使用 Xorg,则必须注销,然后从“登录”按钮旁边的齿轮图标中选择“Xorg 上的 GNOME”)。

相关:使用 Espanso 文本扩展器 Save 时间并提高生产力(Linux、Windows、macOS)

安装自动钥匙

安装自动密钥:

  • Debian、Ubuntu 和 Debian 或基于 Ubuntu 的 Linux 发行版,如 Linux Mint、Elementary OS、Pop!_OS 等

对于 Ubuntu 20.04 / Linux Mint 20 / Debian Bullseye 或 sid 及更新版本,请从存储库安装 AutoKey:

sudo apt install autokey

对于 Ubuntu 18.04、Debian Buster、Linux Mint 19.x 等: 我建议使用最新的 AutoKey 版本。 例如,在 Ubuntu 18.04 上,它有 AutoKey 0.90.4(Debian Buster 和更早的版本具有相同的版本,但我没有在 Debian 中尝试过),当我尝试使用这个应用程序时,我经常会卡住,这个问题在之后修复安装 AutoKey GitHub 上提供的最新版本。

因此,在这种情况下,请从 GitHub 发布选项卡下载最新的 AutoKey。 您将找到可供下载的 DEB 包 – 获取(并安装)autokey-common DEB 包以及用于 QT 版本的 autokey-qt(例如,如果您使用 Kubuntu / KDE Plasma)或用于 GTK 版本的 autokey-gtk(例如如果您将 Ubuntu 与基于 GNOME 的桌面一起使用,包括 Xfce、Cinnamon、MATE 等)。

在从 AutoKey GitHub 发布页面安装 DEB 之前,删除您可能已安装的任何 AutoKey 软件包:

sudo apt purge autokey*

例如,假设您已经在主文件夹中下载了 autokey-common 和 autokey-gtk DEB 软件包,请使用以下命令将它们安装在 Debian / Ubuntu 上:

sudo apt install ~/autokey-*.deb
  • Fedora:
    • 安装 AutoKey-GTK:
sudo dnf install autokey-gtk
    • 安装 AutoKey-Qt:
sudo dnf install autokey-qt
  • Arch Linux 或 Manjaro: AutoKey 可以从 Arch User Repository 安装。
  • 如果您使用其他一些 Linux 发行版,请在存储库中搜索 Autokey,或者查看 AutoKey 项目页面上的安装说明(您也可以克隆存储库并直接运行它而不安装它)。

值得注意的是
AutoKey 需要一个托盘/appindicator 才能工作
. 如果您使用 GNOME Shell,请确保您有一个托盘(例如通过安装 AppIndicator Support 扩展——这在 Ubuntu 上不是必需的,因为这个扩展是默认安装的)。 托盘可用于显示主应用程序窗口(AutoKey 在托盘中启动,隐藏其主窗口)并运行短语或脚本。

我还应该补充一点,AutoKey 需要运行才能使文本扩展缩写和热键起作用,所以
确保您启用 Automatically start AutoKey at login 从其偏好中选择。

使用 AutoKey 在 Linux 上扩展文本

您可以更改以下说明中的缩写和短语以满足您的需要,因为这只是展示 AutoKey 如何工作以及如何创建您自己的文本扩展的示例。

让我们创建一个缩写,将使用 AutoKey 替换为短语。 启动主 AutoKey 窗口(单击
Show Main Window

从 AutoKey 托盘菜单中),单击
My Phrases

在侧边栏中,然后单击
New > Phrase

从工具栏中添加新短语。 让我们称这个新短语为
test

在这个例子中。

在右侧窗格中,输入您希望将其扩展到的短语。 对于这个测试,让我们使用
Testing AutoKey text expansion on Linux

作为短语:

AutoKey 支持使用缩写或热键插入此重复文本。 下面我将解释如何使用这两个选项。

使用缩写扩展文本

点击
Set

旁边的按钮
Abbreviations

. 在弹出的窗口中添加
test

作为缩写,然后单击
OK

按钮(保留缩写选项为默认值,如下面的屏幕截图所示):

自动键文本扩展教程2

接下来,点击
Save

AutoKey 工具栏中的按钮。 在此之后,您就可以尝试测试扩展了。

要尝试此测试文本扩展,请键入
test

在文本编辑器、浏览器文本输入字段或任何您想要的地方,然后按任一
Space

,
Enter

或者
Tab

,或任何非单词,文本应自动从
test


Testing AutoKey text expansion on Linux

.

这是因为在缩写窗口中我们使用了默认触发器
All non-word

. 您可以更改此设置,以便文本替换仅在您按下时发生
Space and Enter

, 或者
Tab

, 从缩写窗口:

自动键缩写

您还可以在那里设置各种其他选项,例如将短语大小写与键入的缩写匹配,在作为单词的一部分键入时触发(我不推荐这样做),等等。

使用热键插入重复文本

缩写只是使用 AutoKey 插入文本的一种方式。 如果您愿意,还可以使用键盘快捷键插入文本,无需键入缩写。

要插入一些您需要使用键盘快捷键经常键入的文本,请单击
Set

旁边的按钮
Hotkey

,然后单击
Press to Set

在新打开的窗口中,然后按要用于此短语的组合键:

AutoKey 设置热键

确保使用尚未使用的热键,否则它可能无法工作/它会干扰已经设置的热键。 要尝试此操作,请将其设置为类似
Ctrl + F1

(至少不应由系统设置)。

记得点击
Save

设置短语热键后自动键工具栏中的按钮,否则更改将不起作用。 现在尝试一下:将文本编辑器、Web 表单中的某些文本字段等集中起来,然后按下您在 AutoKey 中设置的热键 –
Testing AutoKey text expansion on Linux

按下键盘快捷键后,应立即自动插入短语。

将文本扩展限制为特定的应用程序/窗口

如果你想:

  • 仅对特定应用程序或窗口使用文本扩展,或
  • 在多个应用程序/窗口中使用相同的缩写/热键,但每个应用程序或窗口使用不同的短语

然后您可以对您的短语应用窗口过滤器。

自动键设置窗口过滤器

为此,请按
Set

(1) 旁边的按钮
Window Filter

,然后单击
Detect Window Properties

(2) 弹出窗口中的按钮,然后单击您希望此文本扩展起作用的窗口 (3)(上面示例截图中的 Gedit)。

之后,一个新的
Set Window Filter

窗口将弹出,询问您是否要使用窗口类(因此无论其标题如何都匹配该窗口)或窗口标题(因此仅当它具有特定窗口标题时才匹配该窗口)–选择一个适合您的需求,然后单击
OK

(4).

记得点击
Save

设置后自动键工具栏中的按钮,否则更改将不起作用。

在现有文本周围环绕文本或代码

我开始使用 AutoKey 的主要原因之一是能够围绕现有文本包装一些代码。 例如我可以选择
this text

,然后按键盘快捷键,然后
this text

变成
<code>this text</code>

.

AutoKey 实际上内置了一个用于执行此任务(以及其他一些高级任务)的示例,但我想无论如何我都会提到这一点,因为可能不清楚这对于这个简洁的应用程序来说既可能又容易:

text = clipboard.get_selection()
keyboard.send_key("<delete>")
keyboard.send_keys("The text %s was here previously" % text)

您将在 AutoKey 中找到此示例
Sample Scripts

在它的侧边栏中,
Selection Test

名称。

分配键盘快捷键后,此脚本将当前选定的文本替换为
The text %s was here previously

, 在哪里
%s

是原始选择的文本。

示例:如果您选择单词
TEST

,然后按分配给此脚本的热键,
TEST

被替换为
The text TEST was here previously

(这适用于可编辑的文本字段,因此请勿在此网页上尝试,因为它不起作用)。

这样你就可以例如换行
<code>

</code>

或者
``

``

围绕所选文本,例如:

text = clipboard.get_selection()
keyboard.send_key("<delete>")
keyboard.send_keys('<code>%s</code>' % text)

使用这个,选择
TEST

并按指定的热键更改
TEST


<code>TEST</code>

.

作为旁注,如果要放置,请确保您使用的是 AutoKey v0.95.4 或更高版本
<code>


</code>

短语中的文字,或者如果您想使用
keyboard.send_keys

功能,因为在此版本之前由于错误而无法实现。

有关常见问题、已知限制和一些示例脚本,请参阅 AutoKey wiki。

[ad_2]

Related Posts