I've just installed fish shell in my archlinux. Because I use vi-mode in fish, I want to remap my <CapsLock> to <Escape>. How can I archieve it by adding something into my ~/.config/config.fish.
I've see the document of bind, but I don't know how to express <Escape> and <CapsLock>.
You do the same thing you would do for any key, as the fish documentation explains:
You run
fish_key_reader, you press your key (or key combination), and you'll see what that says.If it doesn't do anything, which I would expect for capslock, that's because the terminal doesn't pass on the key to the shell. (press another key to exit fish_key_reader)
If that is the case, it would be impossible to bind it through config.fish, and you would have to change it in your terminal or desktop settings.
If you do get a key, you wouldn't "remap it to escape", you would bind it to the same thing as escape. Assuming you're interested in insert mode, you would run
to find out what escape (
\e) is bound to in insert mode:And then you would bind your key the same. E.g. if you wanted ctrl-g to do the same thing, fish_key_reader explains:
so it is
\cG, so you would bind:without the
--presetbecause that denotes a binding that belongs to the default binding preset.