zshのコマンド履歴をさかのぼるbuilt-in command

"r"というコマンドがzshで使えることを知った。"man zshbuiltins"で調べたところ、

r Same as fc -e -.

って書いてある。
fcというコマンドをそもそも知らなかったのだけど、各シェルがビルトインコマンドとして持っているものなのかな?そのなかでもzshのfcはたくさんオプションがあって強力、ということだろうか(このへんよく分かっていない)。とにかくコマンド履歴を使って操作する系のものらしい。


ということで、zshでの"r"はすなわち"fc -e -"と実行するのと同等で、それは単純に直前のコマンドを再実行するもののようだ。
直前のコマンドを実行するだけなら"!!"とかでもできるのだけど、"r"はそれ自体がコマンド履歴に残ってしまうため、

r;r

と打つとその直前に打ったコマンドがエンドレスに再実行されてしまうようだ。注意しよう