Sunday, April 26, 2015

readline: difference between vi, vi-move, vi-command, vi-insert keymaps



The readline(3) manpage lists these four (vi, vi-move, vi-command, vi-insert) as possible options for the keymap setting. I have tried setting these different options and they seem to have no effect beyond what set editing-mode vi does.



Probably the most succinct way to answer this question is to give an example of how changing keymap makes a difference.



Quote from the manpage:



keymap (emacs)

Set the current readline keymap. The set of legal keymap names
is emacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,
vi-command, and vi-insert. vi is equivalent to vi-command;
<>

Answer



They are the different keymaps inside vi mode. For example, my .inputrc sets keymap to bind keys in different modes. Excerpt:



# insert mode bindings
set keymap vi-insert

"\C-p": previous-history
"\C-n": next-history

# command mode bindings
set keymap vi-command
"|": beginning-of-line
"_": vi-first-print

No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...