Eu sempre quis isso. Quando usei csh (e tcsh), tive um idioma:
!:88*:p
Esse idioma insere "palavra 88 até a última palavra" do comando anterior no ponto em que você está digitando na linha de comando atual, que geralmente é o fim. No csh, não é um erro que essa expressão não produza palavras. Ou seja, não precisa haver uma palavra 88, nem nenhuma que a segue. Se não houver palavra 88, isso não adiciona palavras ao final do comando que está sendo digitado e empurra a linha de comando resultante para o histórico sem execução.
Como você provavelmente sabe,
*! (como !! e! -1) é o comando anterior;
*: 88 é a palavra 88 (a primeira palavra - normalmente o comando - é zero) e o csh exigiria a existência dessa palavra, mas ...
*: 88 * são todas as palavras que começam na palavra 88 e, em seguida, csh não exigir que a palavra exista;
*: p significa imprimir, mas não executa a linha de comando.
Com ou sem o: p, a linha de comandos é adicionada ao histórico de comandos.
"Por que 88?" você se pergunta? Porque é a mesma chave que * preciso. Se você possui comandos por tanto tempo, talvez!: 888 *: p é o que você precisa. Lamentamos, mas isso não funciona com o bash AFAIK. Bash dirá apenas
bash: :88*: bad word specifier
Curiosidade: seu comando geralmente não precisa ser o primeiro.
> /tmp/foo echo My command is word 3
é válido no bash e no csh.