How to customize Readline keybindings of GHCi?
I know GHCi supports Readline, and keybindings such as ^W
and ^U
开发者_运维知识库 work as expected.
I do wonder whether ghci support customization of keybindings the way Bash deals with inputrc.
What is your GHC version? GHCi stopped using readline and started using libedit around 6.10 and haskeline around 6.12.
libedit can be configured in ~/.editrc
; similarly, Haskeline has ~/.haskeline
. For example, I have
# ~/.editrc (for libedit) edit on bind ^R em-inc-search-prev bind ^S em-inc-search-next bind ^[[5~ ed-search-prev-history bind ^[[6~ ed-search-next-history
to match my
# ~/.inputrc (for readline) "\e[5~": history-search-backward "\e[6~": history-search-forward
@ephemient's answer above also helps with newer builds of MySQL which have switched from readline to libedit. I used
$ ~/.editrc:
bind ^[[A ed-search-prev-history
bind ^[[B ed-search-next-history
to match my old version which used to work inside MySQL:
$ ~/.inputrc:
"\e[A":history-search-backward
"\e[B":history-search-forward
(my only annoyance now is that if I just want to scroll and not search, I have to type a "." first to match every line).
精彩评论