هل هناك أي طريقة في OS X Terminal لتحريك المؤشر كلمة بكلمة؟

StackOverflow https://stackoverflow.com/questions/81272

سؤال

أنا أعرف الجمع كنترول+أ للانتقال إلى بداية الأمر الحالي، و كنترول+ه للقفز حتى النهاية.

ولكن هل هناك أي طريقة للقفز كلمة بكلمة، مثل بديل+/ في تطبيقات الكاكاو لا؟

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

المحلول

من خارج منطقة الجزاء يمكنك استخدام غريب جدا خروج+F للانتقال إلى بداية الكلمة التالية و خروج+ب للانتقال إلى بداية الكلمة الحالية.

نصائح أخرى

في نظام التشغيل Mac OS X - تعمل اختصارات لوحة المفاتيح التالية بشكل افتراضي.لاحظ أنه عليك القيام بذلك خيار الفعل الرئيسي مثل ميتا في تفضيلات الوحدة الطرفية (ضمن علامة تبويب لوحة المفاتيح)

  • البديل (⌥)+F لتقفز Fأو بكلمة
  • البديل (⌥)+ب لتقفز بأكرم بكلمة

لقد لاحظت أن روابط مفاتيح emacs الافتراضية للتنقل البسيط في النص يبدو أنها تعمل على قذائف bash.يمكنك استخدام

  • البديل (⌥)+د لحذف كلمة بدءًا من موضع المؤشر الحالي
  • كنترول+أ للانتقال إلى بداية السطر
  • كنترول+ه للانتقال إلى نهاية السطر
  • كنترول+ك لقتل الخط الذي يبدأ من موضع المؤشر
  • كنترول+ي للصق النص من المخزن المؤقت للقتل
  • كنترول+ر لعكس البحث عن الأوامر التي كتبتها في الماضي من السجل الخاص بك
  • كنترول+س لإعادة توجيه البحث (يعمل في zsh بالنسبة لي ولكن ليس bash)
  • كنترول+F للمضي قدما من قبل شار
  • كنترول+ب للتحرك إلى الوراء بمقدار شار
  • كنترول+دبليو لإزالة الكلمة للخلف من موضع المؤشر

وإليك كيف يمكنك القيام بذلك

بشكل افتراضي، تحتوي الوحدة الطرفية على هذه الاختصارات للتنقل (يسارًا ويمينًا) كلمة بكلمة:

  • خروج+ب (غادر)
  • خروج+F (يمين)

يمكنك تكوين بديل+ و لإنشاء تلك التسلسلات لك:

  • افتح تفضيلات الوحدة الطرفية (كمد+,);
  • في علامة التبويب "الإعدادات"، حدد "لوحة المفاتيح" وانقر نقرًا مزدوجًا ⌥ ← إذا كان موجودًا، أو قم بإضافته إذا لم يكن موجودًا.
  • قم بتعيين المعدل حسب الرغبة، واكتب مفتاح الاختصار في المربع: خروج+ب, ، توليد النص \033b (لا يمكنك كتابة هذا النص يدويًا).
  • كرر للكلمة الصحيحة (خروج+F يصبح \033f)

بدلاً من ذلك، يمكنك الرجوع إلى منشور المدونة هذا على textmate:

http://blog.macromates.com/2006/word-movement-in-terminal/

التبديل إلى iTerm2.إنه مجاني وأجمل بكثير من المحطة القديمة البسيطة.كما أن لديها المزيد من خيارات التخصيص، مثل اختصارات لوحة المفاتيح.

أنا أيضا أحب أنه يمكنك استخدامها كمد و1-9 للتبديل بين علامات التبويب.جربه ولن تعود أبدًا إلى المحطة العادية :)

كيفية إعداد تفضيلات لوحة المفاتيح المخصصة في iterm2

  • قم بتثبيت iTerm2
  • قم بالتشغيل ثم انتقل إلى جزء التفضيلات.
  • اختر علامة التبويب ملفات تعريف لوحة المفاتيح
  • ستحتاج إما إلى نسخ ملف التعريف إلى شيء جديد ثم حذف اختصارات مفاتيح الأسهم مثل ^+ يمين/غادر أو إذا كنت لا تهتم بالنسخة الاحتياطية، فما عليك سوى حذفها من ملف التعريف الافتراضي.
  • بعد ذلك تأكد من تحديد ملفك الشخصي المعدل (المميز بنجمة)

Picture 1.png

  • اختر الآن علامة تبويب لوحة المفاتيح (الصف العلوي جدًا)

iTerm 2

  • انقر فوق زر علامة الجمع لإضافة اختصار لوحة مفاتيح جديد
  • في المربع الأول اكتب كمد+السهم الايسر
  • في المربع الثاني اختر "إرسال رمز الهروب"
  • في المربع الثالث اكتب الحرف ب

Picture 2.png

  • كرر ذلك مع مجموعات المفاتيح المطلوبة. يهرب+ب يتحرك كلمة واحدة إلى اليسار، يهرب+F يتحرك كلمة واحدة إلى اليمين.
  • قد ترغب أيضًا في الإعداد كمد+د لحذف الكلمة الموجودة أمام المؤشر باستخدام يهرب+د

كثيرًا ما أضغط على الزر الخطأ (كمد / يتحكم / بديل) باستخدام مفتاح سهم ولذلك لدي مجموعات مفاتيح الأسهم الخاصة بي مع تلك الأزرار كلها جاهزة للانتقال إلى الأمام والخلف للكلمات، ولكن يرجى القيام بما يناسبك أكثر.

في الواقع هناك نهج أفضل بكثير.يمسك خيار ( بديل في بعض لوحات المفاتيح) واضغط على مفاتيح الأسهم لليسار أو لليمين للتنقل حسب الكلمة.سهل هكذا.

خيار
خيار

أيضًا كنتروله سوف يأخذك إلى نهاية السطر و كنترولأ سوف يأخذك إلى البداية.

أملك بديل+/ عمل:يفتح التفضيلات »الإعدادات» لوحة المفاتيح, ، قم بتعيين الإدخال لـ مؤشر الخيار الأيسر ل إرسال السلسلة إلى Shell:\033ب, ، وحدد مؤشر الخيار الأيمن ل إرسال السلسلة إلى Shell:\033f.يمكنك أيضًا استخدام هذا لمجموعات مفاتيح التحكم الأخرى.

في الواقع، يعتمد الأمر على الصدفة التي تستخدمها، ولكن معظم الأصداف لها روابط مماثلة.الارتباطات التي تشير إليها (على سبيل المثال. كنترول+أ و كنترول+ه) هي روابط ستجدها في العديد من البرامج الأخرى ويتم استخدامها على مر العصور، راجع للشغل تعمل أيضًا في معظم تطبيقات واجهة المستخدم.

فيما يلي نظرة على الارتباطات الافتراضية لـ Bash:

أهم اختصارات لوحة مفاتيح Bash

يرجى أيضًا ملاحظة أنه يمكنك تخصيصها.تحتاج إلى إنشاء ملف، وتسميته كما يحلو لك، وقمت بتسمية ملفي .bash_key_bindings ووضعه في الدليل الرئيسي الخاص بي.هناك يمكنك تعيين بعض خيارات bash العامة ويمكنك أيضًا تعيين روابط المفاتيح.للتأكد من تطبيقها، تحتاج إلى تعديل ملف اسمه ".باشرك" يقرأ ذلك bash عند بدء التشغيل (يجب عليك إنشائه، إذا لم يكن موجودًا) وإجراء الاستدعاء التالي هناك:

bind -f ~/.bash_key_bindings

~ يعني الدليل الرئيسي في bash، كما هو مذكور أعلاه، يمكنك تسمية الملف كما تريد ووضعه أيضًا في المكان الذي تريده طالما قمت بتغذية المسار الصحيح + الاسم للربط.

اسمحوا لي أن أعرض لكم بعض المقتطفات من ملف .bash_key_bindings الخاص بي:

set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off

هذه مجرد مجموعة من الخيارات (على سبيل المثال.تعطيل الجرس.يمكن البحث عن كل هذا على صفحة الويب bash).

"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert

تتأكد هذه من أن الأحرف وحدها لا تفعل شيئًا سوى التأكد من "كتابة" الحرف (يتم إدراجها في الغلاف).

"\C-dW": kill-word
"\C-dL": kill-line
"\C-dw": backward-kill-word
"\C-dl": backward-kill-line
"\C-da": kill-line

هذا مثير للاهتمام للغاية.إذا ضربت كنترول+د وحده (اخترت د للحذف)، لا يحدث شيء.ولكن إذا قمت بعد ذلك بكتابة حرف w صغير، فسيتم حذف الكلمة الموجودة على يسار المؤشر.ومع ذلك، إذا كتبت حرفًا كبيرًا، فسيتم حذف الكلمة الموجودة على يمين المؤشر.وينطبق الشيء نفسه على l وL فيما يتعلق بالسطر بأكمله بدءًا من المؤشر.إذا كتبت "a"، فسيتم حذف السطر بأكمله بالفعل (كل شيء قبل المؤشر وبعده).

لقد وضعت القفز على كلمة واحدة للأمام كنترول+F وكلمة واحدة للخلف كنترول+ب

"\C-f": forward-word
"\C-b": backward-word

كما ترون، يمكنك إنشاء اختصار يؤدي إلى إجراء ما على الفور، أو يمكنك إنشاء اختصار يؤدي فقط إلى بدء تسلسل الأحرف ثم يتعين عليك كتابة حرف واحد (أو أكثر) للتسبب في حدوث الإجراء كما هو موضح كما هو موضح في المثال أعلاه.

لذا، إذا لم تكن راضيًا عن الارتباطات الافتراضية، فلا تتردد في تخصيصها كما تريد.وهنا أ رابط إلى دليل باش للمزيد من المعلومات.

إذا كنت من مستخدمي Vim، فيمكنك تجربة وضع vim الخاص بـ bash.قم بتشغيل هذا أو ضعه في ملفك ~/.bashrc ملف:

set -o vi

بشكل افتراضي، أنت في وضع الإدراج؛اضغط على "هروب" ويمكنك التحرك تمامًا كما تفعل في الوضع العادي Vim، لذا فإن الحركة بالكلمة هي w أو b, ، و ال تعمل مفاتيح الحركة المعتادة أيضًا.

إذا قمت بالتحقق Use option as meta key في علامة تبويب لوحة المفاتيح بالتفضيلات، ثم أوامر نمط emacs الافتراضية للكلمات الأمامية والخلفية و ⌥F (بديل+F) و ⌥B (بديل+ب) على التوالى.

أنصح بالقراءة من باش إلى Z-Shell.إذا كنت ترغب في زيادة براعة bash/zsh الخاصة بك!

اعتبارًا من نظام التشغيل Mac OS X Lion 10.7، الخرائط الطرفية خيار-سهم يسار/يمين ل خروج-ب/و افتراضيًا، أصبح هذا الآن مدمجًا في bash والبرامج الأخرى التي تستخدم روابط المفاتيح المتوافقة مع emacs.

في باش هذه ملزمة خروج-ب و خروج-F.لدى Bash العديد والعديد من اختصارات لوحة المفاتيح؛إلقاء نظرة على إخراج bind -p لنرى ما هم.

تحت iterm2التفضيلات > الملف الشخصي > المفاتيح, ، قمت بالنقر فوق + أقل تعيينات المفاتيح وتسجيل اختصار جديد.ل فعل, ، يختار Send Escape Sequence واكتب b أو f للخلف والأمام على التوالي.

عندما حاولت تسجيل واحدة ل(كنترول+)، لاحظت في اختصار لوحة المفاتيح الحقل الذي لم يظهر فيه السهم مطلقًا.تبين أنه كان عليّ تعطيل أجهزة Mac الافتراضية تفضيلات النظام > لوحة المفاتيح > الاختصارات > التحكم في المهمة الاختصارات أولاً لتشغيل الأشياء، لأنها ستتجاوز الاختصارات الافتراضية لـ iterm2.يجب أن يكون هذا صحيحًا بالنسبة للتطبيق الطرفي القياسي أيضًا.

Keyboard system preferences

اضغط باستمرار على مفتاح الاختيار وانقر على المكان الذي تريد أن يتحرك فيه المؤشر

يستخدم تحرير النص الطبيعي المعد مسبقا!

enter image description here

بشكل أساسي، فهو يربط، من بين تسلسلات المفاتيح الأخرى، Option + LeftArrow بـ ^[b التسلسل والخيار + RightArrow إلى ^[f

يعمل هذا في Fish and bash، وكذلك في محطة psql.

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