终端:将热键绑定到文本命令

终端:将热键绑定到文本命令

有没有办法将热键绑定到终端中的文本命令?例如: ctrl+b == git branch <ret>

答案1

您可以使用 bashbind命令如链接的 Stackoverflow 答案所示。

对于你的情况,命令将是:

bind '"\C-b":"git branch\n"'

为了使它从一个会话坚持到另一个会话,然后将其添加到您的~/.inputrc

Bash 绑定参考。(也可用作man bash

答案2

除了热键之外,还可以使用bash 别名

例如:

alias b='git branch'

现在b是 的别名git branch,您只需b <ret>在终端中输入即可。

它在某种程度上比热键好得多,因为你仍然可以在按回车键之前向命令添加其他选项。例如:

b --all
b --remotes
b -m newbranch

... 等等。

~/.bashrc要使此别名永久生效,请将其添加到或的末尾~/.bash_aliases。后者是首选,但只有当您的 ~/.bashrc 引用它时才有效。Ubuntu 12.04 的默认别名就是这样的。

您可以使用以下命令检查给定命令是否已分配给别名,程序,函数或内置命令type <command>

$ type b
b is aliased to `git branch'

$ type cp
cp is /bin/cp

$ type cd
cd is a shell builtin

$ type quote
quote is a function
quote () 
{ 
    echo \'${1//\'/\'\\\'\'}\'
}

$ type c
bash: type: c: not found

最后但同样重要的是,还值得检查不存在的命令的可用性在你的系统中,但可能存在于 Ubuntu 的存储库中:

$ blender
The program 'blender' is currently not installed.  You can install it by typing:
sudo apt-get install blender

这样你的别名就不会影响任何(当前或将来的)命令

答案3

当然。

最好的方法是:

  • 使用要执行的命令编写脚本
  • 为该.sh文件创建一个.desktop文件
  • 为该 .desktop 文件分配快捷键

答案4

像 xmacro 这样的程序可能会有帮助:

 xmacrorec can be used to record mouse and keyboard events on any X11 display.
 .
 xmacroplay can be used to playback recorded events or send any other
 mouse/keyboard events you choose. It is very handy for scripting an
 X display - for example controlling a presentation in mgp or ultrapoint
 from a script, network connection...
 .
 xmacroplay-keys is a script to help use the above.

这个问题及其答案以了解更多详细信息。

相关内容