我可以删除 shell 中的 ctrl-z 键绑定吗?

Nag*_*gel 4 unix terminal shell gnu-screen macos

这个问题的背景:我目前必须通过 ssh 在终端上做很多工作,而且我经常使用 screen。因为我发现屏幕命令的 ctrl-a 键绑定太烦人了,因为我习惯使用 ctrl-a 去行首,所以我把它改成了 ctrl-z。唯一的问题是,当我在 Matlab 中时,认为我在 Screen 但不是,按 ctrl-z 会立即终止我的 Matlab 会话,因为 ctrl-z 是在 *nix 中挂起进程的键绑定。

所以问题是:我可以在我的 shell 中删除 ctrl-z 的键绑定,以便它不再挂起进程吗?

我的外壳是 OSX 上的 terminal.app。

小智 13

^Z结合在外壳没有配置,但在你的TTY,伪设备,让你聊到物理终端,或者是典型的今天,与终端仿真程序。TTY 带有告诉内核如何对设备或模拟器报告的键盘输入做出反应的设置。

使用以下stty命令更改设置:

stty susp "^P"
Run Code Online (Sandbox Code Playgroud)

stty接受设置名称及其值;在这种情况下,设置名称susp用于暂停进程的键,值是一个组合键,例如^P。输入stty -a或参考man stty可用设置列表。