如何从 iTerm2 的命令历史记录中删除命令(Cmd+Shift+;)

如何从 iTerm2 的命令历史记录中删除命令(Cmd+Shift+;)

我喜欢 iTerm2 的命令历史记录功能Cmd+ Shift+ ;,可以从历史记录中快速找到命令。

但是我想从列表中删除一些命令,我​​已经运行命令来sed -i "" '/searchstring/d' "$HISTFILE"从 bash 历史文件中删除它们。

但是当我运行Cmd++Shift;,这些命令仍然显示,iTerm2 将它们存储在哪里,我该如何从中更新和删除一些命令?

答案1

可能有一个更简单的解决方案,但这是我目前发现的:

  • 跑步sqlite3 ~/Library/Application\ Support/iTerm2/ShellHistory.sqlite
  • 确定要删除的行select * from ZCOMMANDHISTORYENTRY;
  • 删除它delete from ZCOMMANDHISTORYENTRY where Z_PK = <id of entry, in first column>
  • 重启 iTerm

或者如果您想删除所有包含给定字符串的命令:

delete from ZCOMMANDHISTORYENTRY where ZCOMMAND like '%example%';

相关内容