سؤال كيف يمكنني جعل مفاتيح الأسهم مع مفاتيح ctrl تحرك إلى الأمام / الخلف كلمة في وقت واحد في سيغوين باش؟


في التثبيت الافتراضي Cygwin ، باستخدام CTRL-LEFTARROW أو CTRL-RIGHTARROW ببساطة يطبع 5C أو 5D بدلاً من تخطي كلمة في وقت كما هو متوقع.

الصفحة الرئيسية / مفاتيح النهاية تعمل بشكل صحيح ، لذلك يجب أن يكون من الممكن إعادة التشكيل.


87
2017-08-10 01:17


الأصل


لاحظ أن هذا السؤال يعالج Cygwin ، ولكن يمكن أن يكون له تطبيق عام على أنظمة Unix / Linux. إذا كنت تستخدم PuTTY وتجد أن الحلول هنا لا تعمل من أجلك ، ألقِ نظرة عليها سؤال على وجه التحديد حول ما الرموز لاستخدامه ل PuTTY. - palswim


الأجوبة:


وجدت حل، نشرها هنا للأجيال القادمة.

أضف الأسطر التالية إلى ~/.inputrc (C:\cygwin\home\<username>\.inputrc):

"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left 

عند الانتهاء ، يمكنك الضغط C-x C-r لإعادة قراءة .inputrc ملف للدورة الحالية.

أشياء يجب ملاحظتها إذا كنت تريد تخصيصات أخرى مشابهة: استخدم 5A و 5B لأعلى ولأسفل السهام ، و 2x للإصدارات المتغيّرة.

تم وصف تعيينات المفاتيح "الرسمية" في دليل باش المرجعيولكن للحصول على طريقة سريعة للعثور على تعيين مفتاح ، في bash:

  1. نوع السيطرة+الخامس
  2. اكتب تسلسل المفاتيح الذي تهتم به (على سبيل المثال ، البديل+). هذا من شأنه أن يطبع ^[[1;3C
  3. إزالة الرائد ^[ واستبدالها \e ليصنع \e[1;3C
  4. ضع هذه القيمة في حياتك .inputrc ملف.

122
2017-08-10 01:23



لا تظهر بعض رموز لوحة المفاتيح على الإطلاق مثل <kbd> Shift </ kbd> + <kbd> Enter </ kbd>. كيف يمكنني العثور على رموز لوحة المفاتيح هذه من خلال Mintty / Windows / Cygwin؟ - CMCDragonkai


يمكنك إعادة تحميل الملف .inputrc عبر:

bind -f ~/.inputrc

مصدر


14
2017-11-14 19:27



هذا مفيد ، لكن ليس في الحقيقة إجابة على السؤال - ربما يكون أفضل كتعليق على إجابة أخرى؟ - Martin Thompson
تضاف إلى @ توم الجواب أعلاه - dovetalk


في حال كنت ترغب في عمل شيء ما بدون إعدادات بيئة مخصصة ، على سبيل المثال عند العمل على حساب مشترك على خادم أو فقط للحد من مقدار التكوين المخصص المستخدم ، فإن Bash يحتوي على وظائف إضافية لهذا العمل في Cygwin.

أي البديل+F للمضي قدما و البديل+ب للانتقال إلى الوراء.

http://www.gnu.org/software/bash/manual/html_node/Commands-For-Moving.html


7
2018-03-20 21:11



شكرا ، على الرغم من أنني على علم بهذه المفاتيح واستخدامها. أنا فقط استخدم مفاتيح الأسهم عندما تكون ملائمة ولا تريدهم أن يقذفوا رموز الهروب بدلاً من فعل الشيء العاقل وتحريك المؤشر. - Tom


عند استخدام rxvt مع cygwin ، وجدت الحل في هذا الارتباط يعمل لي: control_arrow_keys_in_rxvt.

أضف الأسطر التالية إلى ~/.inputrc :

"\eOd": backward-word
"\eOc": forward-word

0
2017-10-15 18:44



وذلك عندما تقوم طبقة إضافية بتغيير المفاتيح المنقولة (ولكنها لا تجيب على السؤال المطروح). - Nikana Reklawyks


هذا الحل يعمل أيضا في msys2 لوحات المفاتيح:

"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left 

مجرد وضع هذه المجموعات الرئيسية في .inputrc ملف.


0
2018-06-23 16:31