Come personalizzare le combinazioni di tasti Readline di GHCi?
Domanda
So che GHCi supporta Readline e le combinazioni di tasti come ^ W
e ^ U
funzionano come previsto.
Mi chiedo se ghci supporti la personalizzazione delle combinazioni di tasti nel modo in cui Bash gestisce inputrc.
Soluzione
Qual è la tua versione di GHC? GHCi ha smesso di usare readline e ha iniziato a usare libedit intorno al 6.10 e haskeline intorno al 6.12.
libedit può essere configurato in ~ / .editrc
; allo stesso modo, Haskeline ha ~ / .haskeline
. Ad esempio, ho
# ~/.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
per abbinare il mio
# ~/.inputrc (for readline) "\e[5~": history-search-backward "\e[6~": history-search-forward
Altri suggerimenti
La risposta di @ephemient sopra aiuta anche con le nuove build di MySQL che sono passate da readline a libedit. Ho usato
$ ~/.editrc:
bind ^[[A ed-search-prev-history
bind ^[[B ed-search-next-history
per abbinare la mia vecchia versione che funzionava all'interno di MySQL:
$ ~/.inputrc:
"\e[A":history-search-backward
"\e[B":history-search-forward
(il mio unico fastidio ora è che se voglio solo scorrere e non cercare, devo digitare prima un "quot". "per abbinare ogni riga).