在 Bash 中快速执行历史命令的小技巧

最简单的方式是使用 Ctrl + r 快速搜索已经执行过的历史命令，然后回车就可以快速执行命令了。

reverse-search-history

19 年的时候，我购买了 Linuxtoy 出的一个关于命令行的使用指南「像黑客一样使用命令行」。从中学到了一个小技巧就一直使用到了现在。

这个小技巧就是 reverse-search-history 。通过在 Bash 中 Ctrl + r 快速搜索已经执行过的历史命令，然后回车就可以达到快速执行命令了。

reverse-search-history，可以追溯的文档是在 关于 Bash 的手册 manual 。

目前 Bash 和 Zsh 都支持这个操作，但是 Fish Shell 不支持这个特性，参考 Issues ，所以那时候我又用回 Zsh 了。

fzf - fuzzy finder

Ctrl + r 快捷键搜索的好处是 Bash 自带的，适合在服务器上使用，不用安装任何插件，缺点是但是对搜索不够友好，不能够模糊搜索。

而 fzf 可以做到模糊搜索，适合在本地开发机使用。安装和使用可以参考 Github 的文档。

Auto suggestions

有些插件或者 shell 可以根据历史执行过的命令，自动建议命令，触发条件是需要先在命令行输入需要执行命令。插件会根据前缀匹配出最近的一条历史命令，通过 Ctrl + e 加回车执行命令。当然缺点也是只能根据输入的前缀来匹配命令，和之前的方案相比各有用途。

zsh 插件 zsh-autosuggestions 。

fish shell 自带 Autosuggestions。

Reference

Bash – Using History Efficiently