Search code examples
emacseshell

Make eshell tab completion behave like Bash


How can I make eshell autocomplete behave like Bash and Emacs in general i.e. it offers a list of choices rather than arbitrary selects one for you?

For example, if I have two directories "Download" and "Downloads", when I type "Down" and hit TAB, I expect another buffer pops up and shows me the choices. But eshell just completes it for me, i.e. if I press TAB, it completes to "Download"; hit TAB again, it changes to "Downloads".


Solution

  • Use this:

    (add-hook
     'eshell-mode-hook
     (lambda ()
       (setq pcomplete-cycle-completions nil)))