たとえば、何かをコピーしたとしましょう。
mv foo_file.txt ~/to/some/long/path/that/i/do/not/want/to/retype
そして、私は次のように履歴置換を使用したいと思います:
mv bar_file.txt !!:2
!!:2
[tab]を押しても、zshが拡張されていないことに驚いています。歴史的な議論へのより複雑な参照では、リターンを押す前に拡張が本当に必要かもしれません。それで、正しい議論を参照したことを確実に知っています。それをさせる方法はありますか?(これがデフォルトの動作であると思います。何らかの理由で誤って無効にしたり壊れたりしたのはデフォルトの動作ですか?)
zshがそれを実行できない場合、bashを実行できますか?
更新:zshは、ディレクトリではなくファイルを参照している場合、履歴式を展開します。
mv foo_file.txt foo_bar_file.txt
mv bar_file.txt !!:2[TAB]
それが単なる任意の文字列である場合、それはそれを展開します:
echo one two three four
echo !!:1[TAB]
ただし、ディレクトリに何かを移動しようとしている場合はそうではありません。これはバグであるに違いないように見えます。