完全禁用 Zsh 历史记录
Disable Zsh history completely
我想完全禁用 Zsh 历史记录(向上箭头)和 zle 历史记录搜索(即 esc+p)。我怎样才能做到这一点?
我目前的 .zshrc
:
unsetopt hist_append
unsetopt hist_expand
HISTFILE=
HISTSIZE=SAVEHIST=0
目前我的历史缓冲区为 1,但我希望历史缓冲区为 0。
21-10-2016 更新:
我已经添加了
bindkey -r "^[p"
bindkey -r "^Xr"
bindkey -r "^Xs"
bindkey -r "^[[A"
bindkey -r "^[[B"
bindkey -r "^[n"
摆脱我使用的历史记录功能(esc+p 与我的 backbone 紧密相连 - 很难忘记)。
我在 zsh 手册页中没有看到任何完全禁用历史记录的内容。即使设置 HISTSIZE=0
似乎也会将 HISTSIZE
的值重置为 1。
您可能会更幸运地使用 bindkey
更改键绑定,这样历史功能就永远不会出现。例如,bindkey -r "^[[A"
代表我的向上箭头键(请注意,我实际上键入了一个插入符号和两个括号,而不是转义键)。
尝试将您的 ZSH 设置配置为 运行 后执行函数,empties/deletes 您的 .zhistory 文件。这是一个 hacky 解决方法,但应该可以工作。
我在 .zshrc
中使用了以下条目:
alias disablehistory="function zshaddhistory() { return 1 }"
如果定义了函数zshaddhistory,可以控制是否保存历史行。
因此,别名 disablehistory
将只定义始终 returns 1(不保存)的函数。
alias disablehistory="function zshaddhistory() { return 1 }"
alias enablehistory="unset -f zshaddhistory"
enablehistory
只是取消设置由以前的别名设置的功能。
如果您想完全禁用历史记录,请在 .zshrc
中永久定义 zshaddhistory
我想完全禁用 Zsh 历史记录(向上箭头)和 zle 历史记录搜索(即 esc+p)。我怎样才能做到这一点?
我目前的 .zshrc
:
unsetopt hist_append
unsetopt hist_expand
HISTFILE=
HISTSIZE=SAVEHIST=0
目前我的历史缓冲区为 1,但我希望历史缓冲区为 0。
21-10-2016 更新:
我已经添加了
bindkey -r "^[p"
bindkey -r "^Xr"
bindkey -r "^Xs"
bindkey -r "^[[A"
bindkey -r "^[[B"
bindkey -r "^[n"
摆脱我使用的历史记录功能(esc+p 与我的 backbone 紧密相连 - 很难忘记)。
我在 zsh 手册页中没有看到任何完全禁用历史记录的内容。即使设置 HISTSIZE=0
似乎也会将 HISTSIZE
的值重置为 1。
您可能会更幸运地使用 bindkey
更改键绑定,这样历史功能就永远不会出现。例如,bindkey -r "^[[A"
代表我的向上箭头键(请注意,我实际上键入了一个插入符号和两个括号,而不是转义键)。
尝试将您的 ZSH 设置配置为 运行 后执行函数,empties/deletes 您的 .zhistory 文件。这是一个 hacky 解决方法,但应该可以工作。
我在 .zshrc
中使用了以下条目:
alias disablehistory="function zshaddhistory() { return 1 }"
如果定义了函数zshaddhistory,可以控制是否保存历史行。
因此,别名 disablehistory
将只定义始终 returns 1(不保存)的函数。
alias disablehistory="function zshaddhistory() { return 1 }"
alias enablehistory="unset -f zshaddhistory"
enablehistory
只是取消设置由以前的别名设置的功能。
如果您想完全禁用历史记录,请在 .zshrc
zshaddhistory