!!:s/sl/ls
executes last command but replaces first occurence of sl with ls. (can also be written as ^sl^ls) !!:gs/sl/ls
same as above, but now global replace !!:s/sl/ls
executes last command but replaces first occurence of sl with ls. (can also be written as ^sl^ls) !!:gs/sl/ls
same as above, but now global replace!$ refers to the arg to the last command, so you can write:
$ ls -l /foo/bar
# .oO(aha, it's a stale link i don't want)
$ rm !$
rm /foo/bar
$