清除Oh-My-Zsh的历史

时间:2014-03-31 20:53:00

标签: macos zsh oh-my-zsh

我想删除zsh历史记录中的条目。我正在使用oh-my-zsh

哦-my-zsh使用fc而不是没有-d命令的历史记录 - 知道bug。我试过寻找~/.zhistory,但那不存在。如何查找历史文件的位置并删除条目?

11 个答案:

答案 0 :(得分:49)

您正在查找错误的文件。查看~/.zsh_history not~ / .zhistory查看您的历史记录保存在哪个文件中

echo $HISTFILE

rm $HISTFILE

答案 1 :(得分:21)

在unix系统上清除zsh历史记录。

 echo "" > ~/.zsh_history & exec $SHELL -l

答案 2 :(得分:10)

清除Zsh历史记录(oh-my-zsh)

  • 关闭,退出并重新打开iTerm
  • 运行nano .zsh_history
  • 使用arrow keys导航至您要删除的历史记录部分。
  • 使用delete键删除所有不需要的历史记录日志。
  • 一旦您删除了要删除的所有内容,请选择control XExit
  • 系统会提示您Save更改。如果您对更改感到满意,请点击shift Y
  • 系统会询问您要保存更改的位置。选择control T以保存to File
  • 使用.zsh_profile导航至arrow keys并按Enter键。
  • 退出并重启iTerm。
  • 键入history以确认删除。
  • 您已成功清除Zsh历史记录。

答案 3 :(得分:4)

  1. 打开~/.zshrc
  2. 添加以下行

    alias clear_history='echo "" > ~/.zsh_history & exec $SHELL -l'
    
  3. 保存并关闭文件

  4. 关闭控制台或键入zsh
    如果您直接看到结果,但这将打开旧版本中的另一个zsh shell
  5. 现在您可以清除控制台输入clear_history
  6. 之前的所有答案都很好,这只是对我有用的解决方案。

答案 4 :(得分:4)

TL; DR

cat /dev/null > ~/.zsh_history

答案 5 :(得分:2)

您可以使用以下命令打开zsh命令的历史记录(当您位于主目录或〜目录中时),并假定您知道如何使用vimnano

nano ~/.zsh_history
vim ~/.zsh_history
open ~/.zsh_history

然后,您可以手动删除所需的行并保存文件。

答案 6 :(得分:1)

这对我有用: LC_ALL=C sed -i '' '/line/d' $HISTFILE

将“行”替换为您要删除的内容。

从此答案: https://stackoverflow.com/posts/13661794/revisions

答案 7 :(得分:1)

例如使用vim,您可以像这样轻松地删除最后n行:

  1. 打开文件:vim ~/.zsh_history
  2. 转到文件底部:G
  3. 标记线:V->使用箭头键向上移动
  4. 删除:d
  5. 写入并退出::wq

或者您也可以使用光标导航并使用dd

删除任何特定的行

答案 8 :(得分:1)

对于 ZSH

要找到历史文件,请执行以下操作:

echo $HISTFILE
  • 然后简单地编辑文件并删除您希望删除的任何行,就像使用 history -d id 一样。
  • 保存文件。
  • 打开一个新终端,您应该会看到没有什么可看的了!

然而我很惊讶 history -d 不存在。如果它确实存在,它就会被很好地隐藏起来。

答案 9 :(得分:1)

  1. 在 zsh 命令行中键入并运行,打开 ~/.zsh_history(这将在我的 Mac 上打开 TextEdit。)
  2. 删除文件中的任何行
  3. 保存并关闭文件
  4. 完全关闭/退出 Zsh 并重新启动 Zsh(这一步很重要!)
  5. 现在,打开 zsh,历史命令不会显示您删除的行

答案 10 :(得分:0)

使用您喜欢的编辑器打开.zsh_history并保存击键。

例如subl .zsh_history将在Sublime编辑器中打开历史记录,然后删除您想要的任何内容。 您也可以使用TextEdit或其他编辑器。