分配热键以粘贴预定义文本

我正在寻找一个在Ubuntu 12.04+ x86_64上运行的程序,它允许粘贴基于热键组合的预定义文本。 例如:

Ctrl + Alt + V + U :粘贴我的用户名

Ctrl + Alt + V + E :粘贴我的电子邮件

有什么建议?

您可以使用autokey

请按照以下说明操作:

  • 安装

    打开终端( Ctrl + Alt + T )并运行以下命令:

 sudo apt-get install autokey-gtk
  • 添加短语

    • 使用短划线打开autokey
    • 在窗口中,展开My Phrases

      autokey已经附带了四个短语,如下面的屏幕截图所示。

    自动键默认窗口

    • 您可以使用“ 新建”按钮修改现有短语或创建新短语。
  • 配置快捷键

    • 单击任何短语名称以查看当前配置。 在上面的屏幕截图中,选择了第一个短语

    • 要更改快捷键或热键 ,请单击热键旁边的Set ”,然后单击“ 按”以在出现的新对话框中进行设置

    自动键设置热键

    然后按所需的组合键并选择确定

  • 配置窗口filter

    • 如果只希望将热键用于特定窗口,可以通过选择“ 设置” >“ 检测窗口属性”然后单击窗口来设置“ 窗口filter”

    • 或者,如果您希望热键在所有窗口中工作,请清除 窗口filter

    • 保存当前短语并通过单击窗口顶部写入上的类似播放按钮来运行当前脚本

    自动键窗口

  • 使用新的快捷方式

    • 您可以关闭autokey窗口并使用热键粘贴相应的短语。

更多信息: Autokey Wiki

由于Autokey已不存在,以下是我完成此操作的方法。
首先安装xclipxdotool

 sudo apt-get install xclip xdotool 

现在编写要粘贴的文本并将其保存在文本文件中。 在这个例子中,我在一个名为address的文件中写了我的address

现在编写bash脚本:

 #!/bin/bash xclip -in -selection c ~/scripts/xclip-scripts/address sleep 0.5 xdotool key ctrl+v 

xclip -in -selection c告诉xclip复制您保存的文件的内容。 在此示例中,该文件位于~/scripts/xclip-scripts/address

xdotool开始尝试粘贴文本之前, sleep命令只允许xclip足够的时间完成复制。

xdotool命令实际上粘贴了xclip从文本文件中复制的文本。

保存脚本并使其可执行。

 chmod +x /path/to/your/script/ 

最后一步是将快捷键绑定到脚本。 在Ubuntu中,可以通过转到系统设置/键盘/快捷方式设置并创建自定义快捷方式。

scrot