6

I'd like to keep my modifications to as few files as possible, so I don't want to touch .inputrc unless I absolutely have to. So, given .inputrc lines like:

"\e[5~": history-search-backward "\e[6~": history-search-forward 

How can I apply them only using bash?

This SU post indicated that bind could read from .inputrc, and bind's help says:

$ help bind bind: bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command] 

history-search-* look like readline functions, so I tried:

bind "\e[6~":history-search-forward bind "\e[5~":history-search-backward 

Page Up now triggers a bell, Page Down printed a ~.

Is there a general way for me to use inputrc lines in bash?

1
  • 3
    One reason to use .inputrc here, though, is so that the key bindings are available in any program that uses readline, not just bash. Commented Sep 25, 2015 at 13:43

2 Answers 2

6

According to what I have in my .bashrc you need something like

bind '"\e[6~": history-search-forward' 
2
  • ... and now I feel like an idiot. I stopped trying after bind '\e[6~': history-search-forward failed. Commented Sep 24, 2015 at 6:21
  • 1
    I think I had trouble getting there too, as I noted it as non-obvious in my personal "help on bash" file. Commented Sep 24, 2015 at 6:27
6

For anyone else searching, this works for all inputrc commands: just wrap them in quotes, shove a bind in front, and you're good (make sure you have different types of quotes if the actual inputrc command itself requires quotes).


For example, an inputrc could have

# makes tab-completion *immediately* return multiple options, set show-all-if-ambiguous on # bind C-d to go forword, not crush the shell "\C-d": shell-forward-word 

To put those in your bashrc, it's just

bind "set show-all-if-ambiguous on" bind '"\C-d": shell-forward-word' 

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.