function zshaddhistory() { emulate -L zsh if [[ != *"production"* ]] ; then print -sr -- "${1%%$'\n'}" fc -p else return 1 fi}
将上面的内容放在交互式shell启动时将来源的文件中(到.zshrc或像我这样来自.zshrc的文件).
替代形式(隐含的历史补充):
function zshaddhistory() { emulate -L zsh if [[ = *"production"* ]] ; then return 1 fi}
.注意:
print -sr -- "${1%%$'\n'}"
显式将项添加到历史记录中但是如果zshaddhistory以零退出代码返回,则zsh隐含地执行zsh,因此如果没有fc -p并且使用setopt nohistignoredups nohistignorealldups(这是默认状态),您将在历史记录中看到不需要的重复项.
模拟-L zsh是为了确保模拟设置不会介入并更改函数体的解释.我把这一行放在我在zsh配置中定义的每个函数的开头.
总结以上是内存溢出为你收集整理的如何让zsh从历史记录中排除某些命令?全部内容,希望文章能够帮你解决如何让zsh从历史记录中排除某些命令?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)