I'm very fond of ivy for completion and love that a simple (ivy-mode 1) is enough to get ivy almost everywhere that Emacs uses some sort of completion (that is acomplished by overriding completeing-read, I believe). But this doesn't setup eshell to use ivy for tab completion. I do like eshell's list of completion candidates, but would prefer the ivy UI to pick among them. Is there some way to reuse whatever eshell does to produce completion candidates and hand that off to `ivy'?
|
|
|||
|
|
|
This should work fine:
I don't know why the above isn't the default. But I use only |
|||||||||
|
|
I found something that seems to work OK upon initial testing: essentially rebind
The The comments in the source code of
I think the first one won't affect me, since I don't think I ever press EDIT: For those unfamiliar with eshell's quirks (this is a euphemism), maybe I should add that to rebind eshell's key as suggested above you should put this in your init file:
Before you yell at me for the wasteful keybindings-in-a-hook antipattern, let me explain that eshell declares its keymap with |
|||||||||||||
|