为 OSX 终端或 xterm 添加键盘快捷键

为 OSX 终端或 xterm 添加键盘快捷键

有没有办法在 OSX 中为终端命令添加键盘快捷键。基本上,大多数时候我都会在 MAC 中打开终端应用程序,以便通过 ssh 进入某个服务器 foo。我想要做的是添加一个键盘快捷键(比如 ^k),这样当我在终端上执行此操作时,它会在终端中运行“ssh foo”。

谢谢

PS:我认为如果 Linux 中有适用于 xterm 的东西,那么它也应该适用于终端。所以这可能不是 OSX 特有的问题。

PS2:我希望快捷方式使用“ssh foo”进行回车。如果只是“ssh foo”,那么我可以在 .bashrc 中写一个别名。我的目标是尽量减少一天结束时必须执行的击键次数。

答案1

您说得对,这不是 OS X 特有的问题。答案可以在bashOS X 上的标准 shell 中找到(大多数(如果不是全部)Linux 发行版中也包含该 shell)。

bash提供了一个内置命令,bind可用于将组合键(如AltK)绑定到命令(如ssh foo)。

打开终端并输入:

bind '"\ek":"ssh foo\n"'

这会将组合键\ek(在终端中同时AltK为 和EscK)绑定到命令ssh foo\n添加一个return

现在按下AltK并将ssh foo执行(ssh foo根据您的需要进行修改)。

如果您希望在启动终端时自动加载此组合键,请.inputrc在主文件夹中创建一个名为的文件:

cd ~
touch .inputrc

并打开它:

open -e ~/.inputrc

您将看到 TextEdit 打开。输入:

"\ek":"ssh foo\n"

并保存(或使用您最喜欢的编辑器)。就这样!

还有很多内容,我在这里解释的还不够。我建议你看一下这个问题:https://stackoverflow.com/questions/4200800/in-bash-how-do-i-bind-a-function-key-to-a-command并检查 中的(相当枯燥的) READLINE 部分man bash。请注意,转义序列\M-(在其他操作系统中映射到Alt)在终端中不起作用。您需要使用\e来绑定Alt

由于转义序列依赖于终端仿真,因此我想分享用于测试上述命令的设置:

在此处输入图片描述

答案2

这些解决方案并不完美,但可以提供帮助。我只有俄语界面,所以你必须自己想出具体的选项名称。

解决方案 1。

终端 - 设置 - [第二个选项卡] - Shell - 启动时运行的命令

解决方案 2。

终端 - 设置 - [第二个选项卡] - 键盘,它将允许您使用特殊键来运行 shell 命令(但不是 ctrl-k)

在此处输入图片描述

在此处输入图片描述

答案3

使用iTerm2。它能够完全按照您的要求执行操作:定义一个配置文件,在启动终端时运行某个命令,并为该配置文件分配一个快捷键 - 这样按下组合键就会打开一个新的终端选项卡,通过 ssh 连接到您的服务器。

答案4

我使用 TextExpander 就是为了实现这个目的: 截图文本扩展器

TextExpander 宏:

ssh -l user -p 99999 void.example.com%key:return%
echo "some command"%key:return%

强烈推荐。不幸的是它不是免费的,而且肯定还有其他方法,但它效果很好。

编辑:此 ssh 连接使用密钥文件,因此不需要密码。

编辑2:这看起来像是解决您问题的另一种方法:终结者

相关内容