Eshell history manipulation (quick string substitution) doesn't work

164 Views Asked by At

I'm using eshell in emacs.

In bash, when I execute:

ls test
^ls^ll^

it executes the last command again with the ls changed to ll, like this:

ll test

How can I do it in eshell? When I did this:

ls test
^ls^ll^

or:

!!:s/ls/ll/

eshell gave an error:

Wrong type argument: stringp, 108

What's wrong? Thanks.

1

There are 1 best solutions below

0
On

eshell has built-in variables

see:

(info "(eshell) Built-ins")

It think you want `$_', which refers to the last argument of the last command.

If you don't have the info installed for eshell (the documentation), it's available here:

https://github.com/nicferrier/eshell-manual