我知道我可以在 中创建自定义键盘快捷键System Settings > Keyboard > Shortcuts > Custom Shortcuts
。如何创建自定义键盘快捷键以在我当前所在的终端窗口中发出 bash 命令?例如,echo "something"
。
我正在使用终结者。
答案1
以下答案复制自一个答案到这问题,并解释了如何在任何地方创建自定义键盘快捷键,这当然也可以在终端中使用。我发布了对我而言很有效的解决方案 - 请查看链接的问题以了解其他替代方案。所有荣誉归原作者所有塞斯。
xbindkeys..
sudo apt-get install xbindkeys
Xbindkeys 是一款功能非常丰富的程序,可让您轻松重新映射按键。它使用配置文件(我的默认配置文件位于您的主目录中)将按键绑定更改为某些命令。
要创建默认配置文件,请使用以下命令:
xbindkeys --defaults
这将打印默认配置文件。因此,如果你想创造包含您将使用的默认值的文件:
xbindkeys --defaults > $HOME/.xbindkeysrc
.xbindkeysrc
将默认值打印到位于 home 中的隐藏文件中( ~
)。
现在实际上改变要了解按键的绑定,首先需要知道这些按键的名称或键符。 xbindkeys
允许我们使用-k
句柄来查找按键或按键组合的名称。运行:
xbindkeys -k
然后按下一个键或组合键。您的输出将如下所示某物类似于此(按下 时space):
"NoCommand"
m:0x10 + c:65
Mod2 + space
"No Command"
告诉我们当前没有与该Space键关联的命令。
m:0x10 + c:65
Mod2 + space
是键/组合键的名称。
配置文件..
让我们打开您之前制作的配置文件:
gedit .xbindkeysrc
以下是默认配置文件的摘录:
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
# Mod3 (CapsLock), Mod4, Mod5 (Scroll).
#
# The release modifier is not a standard X modifier, but you can
# use it if you want to catch release events instead of press events
# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.
#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable
# Examples of commands:
"xbindkeys_show"
control+shift + q
以 开头的每一行#
都是注释,不会被 读取或运行xbindkeys
。
到目前为止唯一没有被注释掉的行是:
"xbindkeys_show"
control+shift + q
此摘录显示了命令的基本语法xbindkeys
:
"Command to run (in quotes)"
key to associate with command (no quotes)
正如你所看到的:
"xbindkeys_show"
control+shift + q
xbindkeys_show
按下Ctrl+ Shift+时运行命令q。
将按键与命令绑定..
现在让我们尝试绑定几个键。我建议清除整个默认文件,使其为空白。它包含您可能不想要的预设键绑定。
现在假设你想使用Ctrl+b打开浏览器。首先你需要知道浏览器的名称或键符+是。如前所述,您可以使用来查找一个或多个键的名称,但还有一种更简单的方法。对于像+这样Ctrl的简单组合,您只需使用:bxbindkeys -k
Ctrlb
Control+b
简单多了不是吗!
现在找到您最喜欢的浏览器的命令:
对于 Firefox:
firefox
对于 Chromium:
chromium-browser
对于 Opera:
opera
还记得之前的语法吗?xbindkeys
按Ctrl+启动 Firefox(或您喜欢的其他浏览器)的命令b是:
"firefox"
Control+b
现在将其放入您的配置文件中并保存。现在您可能会注意到您的命令尚未起作用,那是因为xbindkeys
尚未运行。要启动它,只需xbindkeys
从终端运行即可。您的Ctrl+b现在应该可以启动您的浏览器!