避免将 zsh 命令添加到历史记录

Avoid adding zsh command to history

我使用以下绑定来允许我按 Control-Z 来恢复我之前后台运行的程序。我设置了 histoptignorespace 并在 fg 前面放了一个 space 这样命令就不会保留在我的历史记录中。

但是,当我按向上箭头时,它仍然出现。有什么方法可以删除它吗?我想按向上箭头忽略输入 fg 的事实。

# Allow Ctrl-z to toggle between suspend and resume                             
function Resume {                                                               
  zle push-input                                                                   
  BUFFER=" fg"                                                                     
  zle accept-line                                                                  
}                                                                                  
zle -N Resume                                                                                                                                                  
bindkey "^Z" Resume

以下对我有用。它真的只是直接运行fg。剩下的是返回提示所必需的。

# Allow Ctrl-z to toggle between suspend and resume
function Resume {
  fg
  zle push-input
  BUFFER=""
  zle accept-line
}
zle -N Resume
bindkey "^Z" Resume