终端命令的自定义热键

终端命令的自定义热键

我想点击F1并让带有回车键的字符串自动输入到我所在的终端中。我不想这样做,.bash_profile因为我希望它在一个地方本地配置,而不是在我ssh进入的每个服务器上都配置。

我怎么做?

答案1

好的,我给出的答案几乎完全符合要求,但实际上却非常复杂。您将使用它xmacro来记录和回放按键。

  1. 安装 xmacro

    sudo apt-get install xmacro
    
  2. 录制宏

    xmacrorec2 > test.macro
    

    现在按下ESC(记录“中止”键以进行录制),输入您想要分配的任何文本,然后ESC 再次按下以停止录制。录制的宏现在位于文件中test.macro;您可以使用文本编辑器对其进行编辑。

  3. 测试宏是否有效

    cat test.macro | xmacroplay -d 0 $DISPLAY
    
  4. (可选,推荐)使用上述命令创建一个脚本。将其保存为 macro.sh:

    #!/bin/bash
    
    cat test.macro | xmacroplay -d 0 $DISPLAY > /dev/null 2>/dev/null
    

    使其可执行:

    chmod a+x macro.sh
    
  5. 还剩下一点问题。xmacro 会播放精确的击键,但如果你定义了一个快捷方式,并从快捷方式运行脚本,则会播放这些键您释放快捷键,就像您没有释放键就开始打字一样。您需要将以下行添加到 test.macro 文件中:

    KeyStrRelease F1
    

    这将模拟释放 F1 键。

  6. 使用键盘偏好设置(您可以通过设置或输入“gnome-control-center 键盘”来访问它们),在“自定义快捷方式”下创建一个新的快捷方式并为其分配 F1。

好的,但还有一个警告:F1 快捷键现在可以在每一个应用程序,而不仅仅是终端。我不知道如何解决这个问题;可能,首先macro.sh必须测试哪个窗口具有焦点,然后检查该窗口的标识符是否是终端。

相关内容