1

我的 .zshrc 文件包含该行

bindkey -v

我正在尝试将 ^q 或 \Mq 绑定到推线,例如

bindkey "^q" push-line

但由于某种原因它不起作用。

运行 `bind key -v' 确认

"^Q" push-line

但它实际上并没有做任何事情。其他控制映射,例如 ^r,工作正常。

我可以成功地将“推线”映射到“\eq”,但我不喜欢这种行为。首先,我从不使用 esc 类型的绑定,其次,这样做会将它绑定到 control、meta 和 escape,这太过分了。(顺便说一句,它不应该只用 `bindkey -m' 绑定所有这些吗?我从来没有在我的 .zshrc 中设置过?)

那么,有人知道这里发生了什么吗?

4

1 回答 1

3

软件流控制(维基百科)使用这些快捷方式

Ctrl+SCtrl+Q用于停止和恢复程序的输出。

试一试:
运行while (true) ; do echo $RANDOM ; sleep 1 ; done
Ctrl+S,输出停止。
Ctrl+Q,输出恢复。
(我不确定程序是否像 一样停止Ctrl+Z,我认为它是由于缺少输出而卡住的。Ctrl+C杀死程序。)

这些快捷方式会取代您的快捷方式,但如果您禁用此流量控制功能,它可能会起作用。
您可以在如何在终端中意外按下 Ctrl-S 后解冻中了解如何禁用它?- Unix 和 Linux
试试看并告诉我们。

于 2012-12-20T10:52:39.070 回答