As we know, after changed the Readline mode to vi by command set -o vi and set editing-mod vi, press the key v can into an temp file to edit command (here more details). I want to disable that function.

I tried to re-map v in ~/.inputrc likes:


but the character v cannot be inputed, even if at the insert mode (vim cannot be inputed also. =.=!).

How should I do? And how to re-map the shortcut-keys and do NOT effect the input-mode against VI Editing Mode?

1 Answer 1


You need to change the binding only for the correct mode (vi-command, not vi-insert), and you need to provide a right-hand-side to the rule:

set keymap vi-command                                                                            
v: ""
  • Nop.. if input v: "", char v cannot be input in insert mode, and command v still can open the vim to edit the command.
    – Marslo
    May 2, 2013 at 12:15
  • Did you add both lines, in that order? If yes, is there anything else in your .inputrc, and if there is, can you add the whole thing to your question?
    – Gabe
    May 2, 2013 at 15:34
  • yes!! it works!! I added the both line in .inputrc, and delete set keymap vi-insert, then, it works!! Thanks!!
    – Marslo
    May 16, 2013 at 11:59
  • I think I got it. I will set the 'v' to idle in command mode. So I should use vi-command as keymap mode. Am I right?
    – Marslo
    May 16, 2013 at 12:03
  • You can have custom mappings for all modes in the same file. The important thing to know is that lines are processed strictly in order: after a set keymap line, all mappings apply to that mode, until the next set keymap line, and any mappings after that will apply to the new mode.
    – Gabe
    May 16, 2013 at 16:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .