سؤال تزايدي تاريخ البحث


لقد وجدت هذه النصيحة مفيدة للغاية في UsingTheTerminal لاستخدام مفاتيح الأسهم للبحث خلال سجل الأوامر:

"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char

كيف يمكنني تغييره من أجل الاستخدام Ctrl+P و Ctrl+N بدلا من مفاتيح الأسهم؟


2
2017-07-31 19:21


الأصل


يمكنك أيضًا استخدام سجل $ [numberOfCommandsToReturn] إذا كنت لا تريد استخدام مفاتيح الأسهم. - LittleByBlue
استعمال bind الأمر مع الخيار المحدد. على سبيل المثال ل Crtl+N استعمال bind '"\C-n": history-search-backward' - Nykakin
هذا مشغول. هل يجب علي نسخها إلى bashrc لجعلها دائمة؟ - Michael
نعم ، يجب وضعها .bashrc أو سوف يؤثر على الجلسة الحالية فقط. - Nykakin


الأجوبة:


تكرار ما قلته في قسم التعليق لعدم ترك السؤال معلق دون جواب ، من أجل ربط واحدة من باش أوامر readline يمكنك استخدام bind أمر. فمثلا، مفاتيح Crtl + N يمكن استخدام الاختصار مع:

$ bind '"\C-n": history-search-backward'

سوف يقتصر هذا على الجلسة الحالية ويحتاج إلى وضعها في الداخل .bashrc ليثبت في كل واحد.

توسيع إجابتي ، يمكنك أيضا تعديل ~/.inputrc ملف ، كما ذكر في الرابط المقدمة في السؤال. هناك طريقتان للقيام بذلك. بناء الجملة الأول لنفس الاختصار على النحو الوارد أعلاه هو:

"\C-n": history-search-backward

والثانية هي:

Control-n: history-search-backward

هذا النوع الثاني من التركيب اللغوي يمكن استخدامه مع bind كذلك:

$ bind 'Control-n: history-search-backward'

2
2017-08-01 18:21