主要观点: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 的相关内容,可能有能按编号删除历史条目的插件。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。