作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想达到与这里要求的相同 Saving current directory to bash history但是在 Zsh shell 中。我以前没有做过任何 Zsh 诡计,但到目前为止我有:
function precmd {
hpwd=$history[$((HISTCMD-1))]
if [[ $hpwd == "cd" ]]; then
cwd=$OLDPWD
else
cwd=$PWD
fi
hpwd="${hpwd% ### *} ### $cwd"
echo "$hpwd" >>~/.hist_log
}
现在我将使用目录名称注释的命令保存到日志文件中。这对我来说很好用。只是认为可能有一种方法可以在历史缓冲区本身中进行相同的替换。
最佳答案
function _-accept-line() {
[[ -z "${BUFFER" ]] || [[ "${BUFFER}" =~ "### ${(q)PWD}\$" ]] || BUFFER="${BUFFER} ### ${PWD}"
zle .accept-line
}
zle -N accept-line _-accept-line
### ${PWD}
到您的命令行。不是您可以使用的最佳解决方案,但它有效。
function zshaddhistory() {
print -sr "${1%%$'\n'} ### ${PWD}"
fc -p
}
关于shell - 如何将当前工作目录保存到 Zsh 历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824051/
我是一名优秀的程序员,十分优秀!