将前一个命令的参数添加到zsh完成
在zsh(以及bash)中,您可以使用一些历史单词扩展来表示先前命令的参数。 此示例显示了!:#扩展历史记录中从上一个命令获取第二个参数: % echo foo bar baz foo bar baz % echo !:2 echo bar bar 我经常会忘记一个特定参数是什么#参数!:#,当我记住它是哪个arg时,键入并不总是那么快。我知道meta-.要替换最后一个参数,但是有时它不是我想要的最后一个参数。 我想添加上一条命令中的参数作为建议,以完成我在zsh中键入的任何命令。 我能够弄清楚如何创建一个shell函数,该函数可以从最后一个命令创建一个参数数组(0..N)并将其绑定到特定命令。 _last_command_args() { last_command=$history[$[HISTCMD-1]] last_command_array=("${(s/ /)last_command}") _sep_parts last_command_array } # trying to get last_command_args to be suggested for any command, this just works for foo compdef _last_command_args foo 这是仅在我按以下位置的Tab键时完成foo的样子<TAB>: % echo bar …