I'm using Fish shell on Urxvt terminal.

I want to map Ctrl+E as auto-completion key, what is done by pressing Right arrow key by default.

Sample screenshot

I'm not sure if it's shell's or terminal's feature to do so, but it's clearly not the same as what is done by Tab, and also, I could not find myself such function name in manual of fish's built-in bind command.


1 Answer 1


The binding your looking for is forward-char. Normally the (right arrow) key and Ctrl-F are bound to it and will accept a fish's suggestion. Note that this is different from an auto-completion, corresponding to complete-and-search and bound to Tab by default.

To add Ctrl-E to this list, you can do:

bind \ce forward-char
  • Thanks, but it's not, at least for me. I've already mapped forward-char to check before asking, but it did not work as expected; and Ctrl-F has absolutely no effect for me either. It might be that URxvt conflicts with Fish in my setup, or something similar to that, if I'm not very wrong. What forward-char did for me was just moving one character right in Normal Mode of Fish, and it did not work for Insert Mode as well when explicitly mapping with --mode. I'm very confused about that :)
    – user86041
    Mar 25, 2017 at 18:11
  • 1
    Weird indeed. I tested it in fish on urxvt and it works fine. Do you have a special configuration for urxvt?
    – lgeorget
    Mar 25, 2017 at 18:17
  • I made an error in copying the bind command by the way. There is a backslash before "ce".
    – lgeorget
    Mar 25, 2017 at 18:28
  • 1
    I removed my Xresources file and tried the command out of tmux, now it works. I'm not sure what caused the problem. Thanks for the suggestion, and for the command.
    – user86041
    Mar 25, 2017 at 19:16

You must log in to answer this question.