如何更改 iTerm2 清除行的快捷方式?

How to change shortcut for iTerm2 clear lines?

Ctrl + l是iTerm2默认的清线快捷方式,我想改成Cmd + l,但是找不到这个动作:

顺便说一句,我正在使用 zsh。

Ctrl-L 或 "form feed" 是 ANSI/VT100 协议的一部分 (http://wiki.bash-hackers.org/scripting/terminalcodes),它不特定于 iTerm2。

最好的办法是在按下 Cmd-L 时使用 Applescript 将 Ctrl-L 发送到终端。

这是一个 zsh 绑定,不是 iTerm 绑定。 Ctrl+l 是 zsh 中 clear-screen 小部件的默认绑定。它也适用于 bash(可能还有其他 shell),这只是约定俗成。在 bash - 或者更确切地说 readline, bash's 命令行编辑器 - 它是同样命名为 clear-screen.

的命令的默认绑定

通常,您可以使用命令 bindkey KEYSEQUENCE WIDGETzsh 中更改键绑定。不幸的是,iTerm2 可能不支持所有修饰符与 shell 一起使用。您可以测试一下,运行 cat -v 是否支持,然后按所需的组合键。如果支持 Cmd+l,那么显示的输出应该不仅仅是“l”。如果它不仅仅是“l”,那么您可以使用输出来绑定它。例如,如果 cat -v 显示“^[l”,那么您可以使用 bindkey '^[l' clear-screen 绑定它,如果您想删除默认绑定,则可以使用 bindkey -r '^l'.