I know that Esc + . gives you the last argument of the last command.
But I'm interested in first argument of the last command. Is there a key binding to do so?
On the same lines, is there a generic way of getting the nth argument from the last command?
I know that in a bash script, you can use $0
, $1
etc., but these don't work on the commandline.
Also, what about iterating through the 0th argument of previous commands, like we can do with the last argument by continuously pressing Esc + .?
!^ may be the command for the first argument. i'm not sure if there is a way to get the nth.
To use the first argument, you can use
!^
or!:1
Example:
Since your question is about using any other arguments, here are some useful ones:
The first four forms are more often used. The form
!:2-
is somewhat counter-intuitive, as it doesn't include the last argument.I liked @larsmans answer so much I had to learn more. Adding this answer to help others find the man page section and know what to google for: