[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
按钮(保留缩写选项为默认值,如下面的屏幕截图所示):
接下来,点击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
在新打开的窗口中,然后按要用于此短语的组合键:
确保使用尚未使用的热键,否则它可能无法工作/它会干扰已经设置的热键。 要尝试此操作,请将其设置为类似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]