答案 0 :(得分:1)
Ctrl-L
或"表单Feed"是ANSI / VT100协议(http://wiki.bash-hackers.org/scripting/terminalcodes)的一部分,它不是iTerm2特有的。
最好的方法是在按下Cmd-L时使用Applescript将Ctrl-L发送到终端。
答案 1 :(得分:1)
这是 zsh 绑定不是 iTerm 绑定。 Ctrl + l 是zsh中clear-screen
小部件的默认绑定。它也适用于 bash (以及其他shell)这一事实仅仅是惯例。在 bash - 或者更确切地说 readline , bash的命令行编辑器中 - 它是命名为clear-screen
的命令的默认绑定
通常,您可以使用命令bindkey KEYSEQUENCE WIDGET
更改 zsh 中的键绑定。遗憾的是, iTerm2 可能不支持所有修饰符与shell一起使用。您可以通过运行cat -v
然后按所需的组合键来测试是否支持它。如果支持 Cmd + l ,则显示的输出应不仅仅是“l
”。如果它更多或不仅仅是“l
”,那么您可以使用输出来绑定它。例如,如果cat -v
显示“^[l
”而不是bindkey '^[l' clear-screen
,则可以将其与bindkey -r '^l'
绑定,如果要删除默认绑定,则可以使用while len(answered_q) < len(questions):
question = random.choice(questions)
if question not in answered_q:
answered_q.append(question)
raw_input = str(input(question + ": "))
if sorted(questions) == sorted(answered_q):
break
执行此操作。