例如,假设我刚刚复制了一些东西:
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 引用文件而不是目录,则 zsh 将扩展历史表达式:
mv foo_file.txt foo_bar_file.txt
mv bar_file.txt !!:2[TAB]
如果它只是一个任意字符串,它将扩展它:
echo one two three four
echo !!:1[TAB]
但是,如果您尝试将某些内容移动到目录中,则不会。它看起来越来越像这一定是一个错误。