سؤال كيف يمكنني الحصول على السيطرة + السهم الأيسر للعودة مرة واحدة في iTerm2؟


كنت أقرأ في دليل لينكس ولاحظت أنه يمكنني استخدام السيطرة + اليسار والتحكم + الحق في التحرك إلى الأمام والكلمات في المحطة أثناء التحرير.

"الضغط على Ctrl بالإضافة إلى مفتاح السهم لليسار أو لليمين يتحرك للخلف أو إعادة توجيه كلمة في المرة الواحدة ، وكذلك الضغط على Esc ثم B أو F."

على OS X control+left و control+right عادة السيطرة على المساحات. لقد قمت بتعطيل تلك. لقد حاولت أيضًا استخدام جزء التفضيلات لتعيين اختصارات لوحة المفاتيح:

enter image description here

enter image description here

ومع ذلك هذا لا يعمل ويسبب هذا الخطأ:

enter image description here

أيضا ، إذا كنت في iTerm واستخدامها alt+escape ثم B أو F تتحرك الشخصية ذهابًا وإيابًا. كان هذا يحدث قبل أي من تغييرات التهيئة. ولكني أود حقًا أن أتمكن من استخدام التحكم + مفاتيح الأسهم.


102
2017-11-14 18:43


الأصل


بالمناسبة ، قد تكون طريقة أكثر وضوحًا لتحقيق ذلك هي تعيين الأمر + اليسار وأمر + اليمين بدلاً من ctrl + left و ctrl + right. لم أكن في حاجة إلى تعطيل أي شيء على مستوى النظام لتحقيق ذلك. - Doctor Mohawk


الأجوبة:


سحق

ما عليك سوى إضافة ما يلي ~/.inputrc:

"\e[1;5D": backward-word
"\e[1;5C": forward-word

نرى هذا أرشفة الويكي آخر لمزيد من التوضيح. إذا كنت ترغب في استخدام بديل اضغط بدلاً من ذلك على حركة الكلمة إلى الكلمة (مثل سلوك OS X الافتراضي) ، استخدم:

"\e[1;9D": backward-word
"\e[1;9C": forward-word

zsh

لا يستخدم zsh بشكل افتراضي readline مكتبة وبالتالي لن تقرأ ~/.inputrc. للحصول على الوظيفة نفسها ، يمكنك إضافة ما يلي إلى الخاص بك ~/.zshrc - هذا مرة أخرى سوف تستخدم بديل مفتاح:

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

نرى هذه الوثائق لمزيد من المعلومات حول محرر خط zsh المدمج (zle).


لماذا هذا؟ لقد قمت بإعداد ملف التعريف الخاص بك لاستخدام إعدادات Xterm الافتراضية:

enter image description here

هذا هو السبب في أنك ستحتاج إلى "التقاط" هذا التسلسل وإخباره readline ماذا أفعل.


إذا لم يعمل ما سبق ، وكنت تستخدم نظام التشغيل OS X 10.9 (مافريكس) أو هناك ، فربما تحتاج إلى تعطيل اختصارات التحكم في المهمة العالمية التي تمنع مفاتيح التحكم + الأسهم من الوصول إلى iTerm ، حتى إذا تم تعطيل التحكم في المهمة نفسها. يمكنك فعل ذلك من تفضيلات النظام ← لوحة المفاتيح ← اختصارات ← مهمة التحكم:

mission control keyboard prefs


129
2017-11-14 19:15



أحاول اتباع التعليمات للحصول على alt + left و alt + مفاتيح العمل الصحيحة. أضفت الخطين إلى ملف .inputrc الخاص بي ، ولكن الشيء الوحيد الذي يحدث عندما اضغط على المفاتيح هو أن يتم طباعة إما "D" أو "C" إلى shell. أنا أستخدم iTerm2 مع قذيفة zsh. أيه أفكار؟ - Flo
Flo حاول إضافة الخطوط bindkey -e، bindkey '^[[1;9C' forward-word و bindkey '^[[1;9D' backward-word لك ~/.zshrc في حين أن. IIRC zsh لن تقرأ .inputrc - أو على الأقل أنه يعمل بالنسبة لي بهذه الطريقة. - slhck
لا يعمل بالنسبة لي مع ctrl-left / right + bash ، ولكنه يعمل جيدًا إذا قمت بإعداده ل alt-left / right. - Dalin
إضافة تحرير حول اختصارات التحكم في المهمة منع أي من هذا من العمل بطريقة أكثر غموضا بشكل معقد. نأمل أن ينقذ شخص ما من الذهاب من خلال نفس الشيء أنا فقط فعلت ذلك ... - rubyruy
بالنسبة إلى OSX + zsh + iTerm2 + ctrl-left / right ، استخدم ما يلي: bindkey -e; bindkey '\e\e[C' forward-word; bindkey '\e\e[D' backward-word - Artur Bodera


حل العمل ل zsh. بسيطة ومباشرة ، خارج الصندوق.

  1. اذهب إلى: ⌘, Preferences → Profiles → Keys → Keyboard Behavior

  2. التحميل المسبق: Natural Text Editing

Load Preset "Natural Text Editing"


33
2017-12-17 19:49



شكراً لـHappy Torturer ، أعتقد أنه أفضل إجابة في الغالب لأنني لا أملك على Terminal.app العادي تلك المشكلة لذا لا أريد تعديل bash / zsh ، فقط أريد أن أعمل كل شيء كما في Terminal.app. - galuszkak
هذا هذا هذا. شكرا جزيلا على هذا الحل! لقد مرت هذه العملية جنون مع كل ماك أحصل عليه. أعرف الآن أبسط طريقة لتحقيق ذلك. شكرا لكم! - vernonk


اعتدت نهج مختلف. عن طريق BetterTouchTool لقد قمت ببرمجة اختصار لوحة مفاتيح مخصصة لـ iTerm2. عندما اضغط على alt-left في iTerm2 ، فإنه يرسل اختصار لوحة المفاتيح ctrl-left مع الإجراء "إرسال اختصار لوحة المفاتيح إلى تطبيق معين". التطبيق هو iTerm2. لقد فعلت الشيء نفسه بالنسبة لـ alt-right الذي تم تعيينه إلى ctrl-right.

التأثير هو أن الضغط على alt-left أو alt-right في iTerm يرسل ctrl-left أو ctrl-right مباشرة إلى iTerm2 ، متجاوزًا الاختصار المعتاد على مستوى النظام لنقل سطح المكتب إلى اليسار أو اليمين. مثل هذا أحصل على سلوك mac النموذجي في iTerm2 ، على جلسات المطراف المحلية ، ولكن أيضا على جلسات SSH النائية ويمكنني استخدام ctrl-left / ctrl-right القياسي للانتقال إلى أسطح المكتب المختلفة. كتبت عنها هنا:

http://www.callum-macdonald.com/2013/04/17/ctrl-left-and-ctrl-right-on-iterm2/


7
2018-04-17 17:16



جميلة! شكرا على نشرك! - Julian A.
BetterTouchTool ليست مفتوحة المصدر ويمكن أن تفعل أشياء كنت ترغب في ذلك. يقول الرجل إنه طالب ، لكنه يمكن أن يكون مجرد وكالة من ثلاثة أحرف. - revacuate


في الواقع ، لقد وجدت أن الحل الأسهل هو الانتقال إلى إعدادات ملفي الشخصي (الموجودة في الملفات الشخصية / المفاتيح) ، وإزالة اختصارات الملفات الشخصية المخالفة (كما يتخطى الملف الشخصي العمومية في iTerm) ، وفي حالتي alt + left و alt + right ثم اختصارات عملت تماما بالنسبة لي!

أيضًا ، إذا كنت تستخدم نظام التشغيل OS X ، فمن الأفضل الالتزام بالاختصارات الواسعة على مستوى النظام ، بمعنى استخدام alt + left و alt + حقًا لهذا الغرض ، فمن المؤكد أن وجود سلوك مختلف في المطراف يسبب ألمًا في النهاية.

بخلاف ذلك حل chmac لاستخدام أداة Better Touch كان طريقة أنيقة لتغيير سلوك التحكم + السهم في iterm فقط.


7
2018-03-20 08:09



في الواقع هذا هو الحل الأفضل. انها مربكة كما يذهب معظمنا Keys التبويب. بدلا من ذلك علينا الذهاب إلى Profiles علامة التبويب -> ملف تعريف (على سبيل المثال الافتراضي) -> مفاتيح. - Paschalis
هذا بالتأكيد هو الحل الأسهل والأسهل. - revacuate


أصلحته بهذه الطريقة:

في القائمة العلوية اذهب إلى

Profiles 
-> Open profiles... 
-> Edit profiles... (button) 
-> Keys (tab) 
-> Load Preset... (dropdown) 
->  Choose "Natural text editing". Done! :-)

6
2017-11-30 16:22



كل ما لدي تحت هذا الإعداد المسبق هو "افتراضيات المصنع" - MaylorTaylor


هذه التدوينة تعلم هذا واختصارات الآخرين كـ Delete ← حذف لحذف كلمة:

http://elweb.co/making-iterm-2-work-with-normal-mac-osx-keyboard-shortcuts/


2
2018-06-02 14:51



هذا في الواقع لا يجيب على السؤال ، وهو حول استخدام <ctrl> <left> - DavidPostill♦
كل ما عليك فعله هو استخدام الاختصار الذي يناسب احتياجاتك. "<ctrl> <left>" أو ما تريد. - Sérgio Toledo
لذا يرجى ذكر الأجزاء الأساسية للإجابة من الرابط (الروابط) المرجعية ، حيث يمكن أن تصبح الإجابة غير صالحة إذا تغيرت الصفحة (الصفحات) المرتبطة. - DavidPostill♦


أنت في حاجة للذهاب إلى Profiles علامة التبويب وحذف التعيين ل بديل+اليسار و بديل+حق كما افتراضيا فإنه يخرج بعض القيم السداسية.


1
2018-01-05 23:13



هذا فعل ذلك بالنسبة لي! - Philip