我想完全禁用Zsh历史记录(向上箭头)和zle历史记录搜索(即esc + p)。我怎样才能做到这一点?
我当前的.zshrc
:
unsetopt hist_append
unsetopt hist_expand
HISTFILE=
HISTSIZE=SAVEHIST=0
目前我有一个历史记录缓冲区,但我希望历史记录为零。
21-10-2016更新:
我添加了
bindkey -r "^[p"
bindkey -r "^Xr"
bindkey -r "^Xs"
bindkey -r "^[[A"
bindkey -r "^[[B"
bindkey -r "^[n"
摆脱我使用的历史功能(esc + p与我的骨干硬连接 - 很难忘记)。
答案 0 :(得分:0)
我在zsh手册页中没有看到任何完全禁用历史记录的内容。即使设置HISTSIZE=0
似乎也会将HISTSIZE
的值重置为1。
您可能会更好地使用bindkey
更改键绑定,以便永远不会发生历史记录功能。例如,bindkey -r "^[[A"
用于我的向上箭头键(请注意,我实际上键入了一个插入符号和两个括号,而不是转义键)。
答案 1 :(得分:0)
尝试配置ZSH设置以运行postexec函数来清空/删除.zhistory文件。这是一个hacky解决方法,但应该可以工作。
答案 2 :(得分:0)
我在 out Any?
中使用以下条目:
.zshrc
如果定义了函数zshaddhistory,它可以控制是否保存历史线。
因此,别名 alias disablehistory="function zshaddhistory() { return 1 }"
只会定义始终返回 1(不保存)的函数。
disablehistory
alias disablehistory="function zshaddhistory() { return 1 }"
alias enablehistory="unset -f zshaddhistory"
只是取消以前别名设置的函数。
如果您想完全禁用历史记录,请在您的 enablehistory
zshaddhistory