我想要为cd !!:1写一个别名,它将获取上一条命令的第二个单词,并切换到该名称的目录。例如,如果我输入:
rails new_project
cd !!:1
第二行将进入“new_project”目录。由于!!:1难以输入(即使它很短,也需要键盘两侧的三个SHIFT键和一个未按下SHIFT键的重复按下的键),因此我想只输入类似于
cd-
但是由于!!:1是在命令行上被评估的,所以我(显然)不能只是这样做
alias cd-=!!:1
或者我将保存一个包含“new_project”硬编码的别名。因此,我尝试了:
alias cd-='!!:1'
这个问题在于 !!:1 从未被评估,我收到了一个消息,说没有名为 !!:1 的目录存在。我该如何创建一个别名,在我发出别名命令时评估历史替换,而不是在定义别名时或从不评估?(我已经在 bash 和 zsh 中尝试过,结果都一样。)