How to customize Readline keybindings of GHCi?

后端 未结 2 1934
鱼传尺愫
鱼传尺愫 2021-02-20 16:04

I know GHCi supports Readline, and keybindings such as ^W and ^U work as expected.

I do wonder whether ghci support customization of keybindin

相关标签:
2条回答
  • 2021-02-20 16:29

    @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).

    0 讨论(0)
  • 2021-02-20 16:33

    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
    
    0 讨论(0)
提交回复
热议问题