我想删除zsh历史记录中的条目。我正在使用oh-my-zsh。
哦-my-zsh使用fc而不是没有-d命令的历史记录 - 知道bug。我试过寻找~/.zhistory
,但那不存在。如何查找历史文件的位置并删除条目?
答案 0 :(得分:49)
您正在查找错误的文件。查看~/.zsh_history
not~ / .zhistory查看您的历史记录保存在哪个文件中
echo $HISTFILE
和
rm $HISTFILE
答案 1 :(得分:21)
在unix系统上清除zsh历史记录。
echo "" > ~/.zsh_history & exec $SHELL -l
答案 2 :(得分:10)
nano .zsh_history
arrow keys
导航至您要删除的历史记录部分。delete
键删除所有不需要的历史记录日志。control X
至Exit
。Save
更改。如果您对更改感到满意,请点击shift Y
。control T
以保存to File
。.zsh_profile
导航至arrow keys
并按Enter键。history
以确认删除。答案 3 :(得分:4)
~/.zshrc
添加以下行
alias clear_history='echo "" > ~/.zsh_history & exec $SHELL -l'
保存并关闭文件
zsh
clear_history
之前的所有答案都很好,这只是对我有用的解决方案。
答案 4 :(得分:4)
TL; DR
cat /dev/null > ~/.zsh_history
答案 5 :(得分:2)
您可以使用以下命令打开zsh命令的历史记录(当您位于主目录或〜目录中时),并假定您知道如何使用vim
和nano
:
nano ~/.zsh_history
vim ~/.zsh_history
open ~/.zsh_history
然后,您可以手动删除所需的行并保存文件。
答案 6 :(得分:1)
这对我有用:
LC_ALL=C sed -i '' '/line/d' $HISTFILE
将“行”替换为您要删除的内容。
答案 7 :(得分:1)
例如使用vim
,您可以像这样轻松地删除最后n
行:
vim ~/.zsh_history
G
V
->使用箭头键向上移动d
:wq
或者您也可以使用光标导航并使用dd
答案 8 :(得分:1)
对于 ZSH
要找到历史文件,请执行以下操作:
echo $HISTFILE
history -d id
一样。然而我很惊讶 history -d
不存在。如果它确实存在,它就会被很好地隐藏起来。
答案 9 :(得分:1)
答案 10 :(得分:0)
使用您喜欢的编辑器打开.zsh_history
并保存击键。
例如subl .zsh_history
将在Sublime编辑器中打开历史记录,然后删除您想要的任何内容。
您也可以使用TextEdit或其他编辑器。