سؤال

أريد تحديد كتلة أو تمييزها في emacs دون استخدام الماوس ولكن القيام بذلك من لوحة المفاتيح مثل الوضع المرئي لـ vim.ما هي أسهل طريقة للقيام بذلك من لوحة المفاتيح؟

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

المحلول

ونلقي نظرة على منطقة المستطيل في ايماكس.

وباختصار، عليك أن تبدأ اختيار مثل المعتاد مع التحكم في - الفضاء ، ثم قتل المنطقة مع التحكم في - س ص ك ولصق (أو <م> نثر ) قتل مع كتلة التحكم في - س ص ص .

نصائح أخرى

إذا فهمت السؤال بشكل صحيح، فهو لا يتعلق بالمناطق المستطيلة في الأصل.

C-Spc يضع علامة على الوضع الحالي.

أينما يكون مؤشرك بعد ذلك، يتم "تحديد" النص الموجود بين العلامة الأخيرة والموضع الحالي (يمكنك تمييز ذلك عن طريق تنشيط transient-mark-mode, ، ولكن هذا يعني أيضًا أنه يجب حذف العلامات عندما لا تريد التمييز).

يمكنك العمل في تلك المنطقة بأوامر مثل:

C-w ..منطقة القتل.يؤدي هذا إلى حذف المنطقة ووضعها في حلقة القتل.
C-y ..نثر.يؤدي هذا إلى إدراج المقتطف الأخير من حلقة القتل.
M-y ..حلقة قتل دورة.مباشرة بعد C-y, ، يؤدي هذا إلى استبدال الجزء الذي تم انتزاعه بالمقتطفات الأخرى في حلقة القتل.
M-w ..حفظ المنطقة في حلقة القتل.يحب C-w, ، لكنه لا يحذف.

هذا مجرد الاستخدام الأساسي.العلامات لها استخدامات أخرى أيضًا.أوصي بالبرنامج التعليمي (C-h t).

وإيماكس 24.4 ديها الآن المستطيل علامة واسطة. C-س الفضاء لاستدعاء ذلك.

وراجع مقالة: "العمل مع تحديدات مستطيلة" ، وخاصة قسم التعليقات. انظر أيضا قسم CUA ثائق وضع بعنوان "CUA الدعم المستطيل". وهناك أيضا فيديو لطيفة على Vimeo .

بالرغم من C-SPC هي طريقة شائعة لبدء وضع علامة على شيء ما من أينما كانت وجهة نظرك ، غالبا ما تكون هناك طرق أسرع / أسهل لا تفعل ذلك تتضمن الانتقال صراحة إلى نقاط البداية / النهاية ...

اختصارات الاختيار المضمنة

  • M-h - وسيلة مهمة ل وضع علامة على الفقرة."فقرة" غالبا ما يعني كتلة من التعليمات البرمجية.

  • C-M-h و C-M-@ - ل بمناسبة sexps و defuns, على التوالي.هذا يعمل لعدة لغات، وليس فقط lisps.

  • اضغط باستمرار على التحول - طريقة أخرى رائعة لتسليط الضوء عليها أثناء حركة.على سبيل المثال، M-S-f يختار إعادة توجيه كلمة بأكملها.هذا هوshift-select-mode, ويتم تمكينه افتراضيا في Emacs 24 .على بعض (غير تشيكليت) لوحات المفاتيح ، يجب أن تكون قادرا على الضغط باستمرار C-S- مع واحد الخنصر.

يمكنك الضغط على أي منها بشكل متكرر لتوسيع التحديد.

(ملحوظة:يستخدم C-g في كثير من الأحيان لإلغاء وضع العلامات أثناء التجريب.)

الإضافات

هناك عدد قليل الحزم الإضافية التي تعمل على تحسين اختيار المناطق و اشياء.هذه كلها تلعب بشكل جيد معا وتناسب الاستخدام المختلف الحالات.استخدمهم جميعًا!

  • توسيع المنطقة:يؤدي توسيع المنطقة إلى زيادة المنطقة المحددة بالوحدات الدلالية.عادل استمر في الضغط على المفتاح حتى يحدد ما تريد. C-= هو ملزمة الموصى بها لذلك.اضربها عدة مرات للحصول على ما احتياج.

  • سهل القتل:يستخدم M-w و ذاكري لتحديد أنواع مختلفة من الأشياء ، مثل الكلمات ، sexps ، القوائم ، إلخ.

  • زوب إلى شار:يحب انطلق إلى شار, ، ولكن يوفر اختيار لطيفة وغيرها الإجراءات المستندة إلى القائمة.

  • فرق hl:قم بتمييز المناطق المتغيرة المتاحة.يستخدم diff-hl-mark-hunk لتحديد/وضع علامة على قطعة كبيرة.

استخدم التحكم في - الفضاء لوضع علامة وحرك المؤشر.

ووtransient-mark-mode ستبرز الاختيارات بالنسبة لك. M - س transient-mark-mode.

ويمكنك إعداد إيماكس لتمكين هذا الوضع افتراضيا باستخدام التخصيص. M - س customize-option RET transient-mark-mode

... وفي حال كنت تستخدم أوبونتو و C-SPC لا يعمل بالنسبة لك: أنت بحاجة لمسح IBus "طريقة إدخال المقبل" رابط المفتاح، كما هو الحال في

<اقتباس فقرة>   

وibus-setup تشغيل وتغيير مفتاح ملزمة ل   "طريقة إدخال المقبل" لشيء آخر (أو حذفه بالكامل من قبل   النقر على الزر "..." ثم زر "حذف").

اقتباس مأخوذة من جوابا لسؤال SO.

لتوسيع إجابة لإدين Salkovic، إذا كنت تستخدم وضع CUA، يمكنك استخدام لبدء اختيار كتلة بصرية. هناك الكثير من الاختصارات للتحكم اختيار كتلة موضح في من CUA .

مع Emacs 25، اضغط ببساطة ج-فضاء ثم حرك المؤشر أينما تريد تمييز/تحديد منطقة النص التي تهمك.بعد ذلك، قد تحتاج إلى هذه الأوامر:

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