整理你的 shell 历史记录

主要观点:Simon Tatham 解释了为何要禁用 shell 历史文件,他习惯在.bashrc中使用“unset HISTFILE”完全关闭历史文件,只保留单个 shell 实例内的历史,且历史不共享和不保存登录退出信息,认为这样能更有效地记住有用命令;作者虽习惯保留大量 shell 历史,但也认同不应记录错误尝试,随后作者提供了一个 zsh 函数“smite”来方便删除 shell 历史中的错误命令和死胡同,该函数通过 fzf 展示历史命令,可选择删除,目前不处理多行命令,函数会打印删除的命令以防选错,此方法借鉴自 Marlon Richert 的 Stack Overflow 回答并可能有相关插件。

关键信息

  • Simon Tatham 关闭 shell 历史文件的习惯及原因。
  • 作者对 shell 历史的不同看法。
  • “smite”函数的功能、使用方法及依赖。

重要细节

  • Simon Tatham 在单个 shell 实例内可编辑上次命令至正确,历史不跨终端窗口共享和登录退出保存。
  • “smite”函数默认只显示当前会话历史,运行“smite -a”显示所有历史,可通过按 Tab 选择多个命令一起删除。
  • 函数打印删除命令以防选错,目前不处理多行命令,借鉴自 Marlon Richert 的相关内容,可能有能按编号删除历史条目的插件。
阅读 18
0 条评论