随着 Apple 推出 macOS Catalina 的第一个开发者预览版,他们似乎已将默认 shell 制作为zsh
,而不是旧的bash
.我一直留在莫哈韦,但尽管如此,我还是决定切换到zsh
第一个并熟悉它。
虽然所有新功能都很酷,但我不太喜欢zsh
在按 control-c 或 return 后如何折叠/隐藏所有自动完成项目。在 中bash
,这些项目保留在屏幕上,并且在后续命令中引用非常方便。例如,当我这样做时cd
,我会快速按两次 Tab 键以ls
即时产生效果。现在有了zsh
,它不再起作用了。
这并不是真正的破坏交易,但我当然希望这种行为回来。
答案1
有很多方法可以自定义完成,首先是一些布尔选项。我认为你想要的效果是关闭always_last_prompt
。
setopt no_always_last_prompt
有趣的是,我经常看到相反的问题:习惯 zsh 的人往往讨厌 bash 行为,即完成某些操作会导致之前的终端命令滚动。如果你想要ls
zsh中的效果,你可以暂停当前命令并运行ls
。