سؤال

وأنا أعلم GHCi يدعم ريدلاين، وكيبيندينغس مثل ^W والعمل ^U كما هو متوقع.

وأنا لا أتساءل ما إذا كان الدعم ghci التخصيص من كيبيندينغس الصفقات طريقة باش مع inputrc.

هل كانت مفيدة؟

المحلول

ما هو الإصدار GHC الخاصة بك؟ توقف GHCi استخدام Readline وبدأت باستخدام libedit حول 6.10 و <لأ href = "HTTP: // hackage. haskell.org/cgi-bin/hackage-scripts/package/haskeline "يختلط =" noreferrer "> haskeline حول 6.12.

ويمكن تكوين libedit في ~/.editrc . وبالمثل، Haskeline ديه ~/.haskeline . على سبيل المثال، لدي

# ~/.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

ولمباراة بلدي

# ~/.inputrc (for readline)
"\e[5~": history-search-backward
"\e[6~": history-search-forward

نصائح أخرى

و @ephemient في الجواب أعلاه أيضا يساعد مع تبني أحدث الخلية التي تحولت من يقوم readline إلى libedit. اعتدت

$ ~/.editrc:
bind ^[[A ed-search-prev-history
bind ^[[B ed-search-next-history

ولمباراة نسختي القديمة التي كان يعمل داخل الخلية:

$ ~/.inputrc:
"\e[A":history-search-backward
"\e[B":history-search-forward

و(بلدي الوحيد الانزعاج الآن هو أنه إذا أريد فقط للتمرير وليس البحث، لا بد لي من كتابة "." لأول مرة لتتناسب مع كل سطر).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top