有没有办法将热键绑定到终端中的文本命令?例如:
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.
看这个问题及其答案以了解更多详细信息。