Vim and Emacs: All Quiet Up Front

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

هذا يعود إلى سنوات عديدة. تم تطوير Emacs بواسطة Richard Stallman في السبعينيات ، وتم إصداره منذ حوالي 35 عامًا. السادس هو نفس العمر تقريبًا ، أنشأه بيل جوي. من ناحية أخرى ، يعد Vim شيئًا أحدث وينشأ من الحاجة إلى Bram Moolenar لإنشاء نسخة من Vi لـ Amiga في عام 1991.

كيف ريترو! ناشرون من العصر الحجري ، عندما كانت الحياة أبسط. ونستمر في استخدامها لأنها تتطور وتتكيف مع العصر. يستخدم Vim و Emacs واجهات حديثة في GTK ، ولهما لغات الامتداد الخاصة بهما ، ومديرو الحزم ؛ من بين أمور أخرى تضعهم بين المحررين حديث.

لماذا أستخدمهم؟

لنضع ظرفًا افتراضيًا تمامًا. Gúgol هي كلمة رياضية تحدد واحدًا متبوعًا بمئة صفر. كيف نكتبها في محرر نصوص؟

الحل الأول الذي يتبادر إلى الذهن هو كتابة واحد والضغط على المفتاح 0 حتى يضبطني عداد العمود على 101 ، لأن 101 حرفًا يجب أن تقيس هذا التعبير. نفترض أننا نقوم بتحرير هذا في محرر نصوص مختص ، يحتوي على شريط حالة لعرض هذه الأشياء.

الآن ، يمكنني التفكير في حل أبسط:

i1 ESC 100a0 ESC

بالطبع هذا الحل يتطلب فيم أو على الأقل السادس. هو قيادة الأمر بسيط للغاية ، ويبدو الأمر كما لو كنا نقول لـ Vim: أن تكون في الوضع العادي ، أدخل 1 ويعود إلى الوضع العادي. أدخل الآن بعد المؤشر مائة مرة 0 ويعود إلى الوضع العادي. سوف يقوم Vim بتنفيذ أمرنا دون سؤال.

تعقيد

يبدو هذا الحل معقدًا للغاية ، وقد فهمته. أولاً ، لأننا نتعامل مع مفهوم أ محرر مشروط. ولكن هناك حالات يكون فيها الأمر أكثر فائدة مما يبدو.

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

1 موزة 4 تفاح 2 كيلو سكر 1 لتر ماء

 

إنها قائمة تسوق بسيطة للغاية. لكننا سنقوم ببعض الترتيبات. أولاً ، أعتقد أن القليل من الموز لن يكون سيئًا. نظرًا لأننا نحب الجماليات ، سنغير الأحرف الصغيرة في تفاح لتركها موز وسنقوم باستبدال أسماء الوحدات بمختصراتها.

اذا هيا بنا نبدأ. نظرًا لأننا نريد نسخة احتياطية من قائمتنا الأصلية ، فإننا نقوم بعمل نسخة باستخدام 4yy ونقوم بلصقها أدناه مع p. اضغط على Ctrl-a مرتين لزيادة عدد الموز والانتقال إلى نهاية الكلمة التالية باستخدام e. ننتقل إلى السطر الثاني ، ونفعل أ Fm للوصول إلى كلمة apples واضغط على ~ (AltGr-4 على لوحة المفاتيح) حتى يتغير الحرف إلى نسخته الكبيرة. نصنع أ j للنزول إلى السطر التالي ونظهر في k لـ جنيه مع b. نخرج من الوضع العادي عن طريق الكتابة cw وكتابة الكلمة البديلة للكيلو جرام والتي ستكون كجم. نضغط على ESC ، ونعود إلى الوضع العادي ومرة ​​أخرى j لفعل الشيء نفسه مع لتر. جاهز. هذا ما تبدو عليه قائمتنا الآن.

3 موزات 4 تفاح 2 كجم سكر 1 لتر ماء

القوة

دعنا نلخص الإجراء أعلاه في هذا:

4yy G p 2Ctrl-A e Fm ~ jb cw kg ESC jb cw L ESC

لقد احترمت بعض المساحات لجعلها مفهومة ، لكن هذا لا يتم عادة. هذا الترتيب للروبوت يجعلنا نفكر كثيرًا في فائدته. لكن من المؤكد أن القيام بذلك أسرع من التحرك بالماوس ، والتحديد والنسخ واللصق والحذف وما إلى ذلك.

المحررون طالما أن Vim أو Emacs يمكنهم القيام بأشياء من هذا القبيل لأنهم تم تطويرهم لسنوات وبأفكار واضحة جدًا حول كيفية القيام بالأشياء.

منحنيات التعلم

نعم ، إنها شديدة الانحدار. ولكن هذا ما تهدف إليه مبادرات مثل Cream ، والذي يوفر بيئة Vim جاهزة تمامًا للاستخدام فورًا دون الاضطرار إلى مواجهة أوضاع وهذا ، ووضع المعلم ، امتداد Emacs - على حد علمي - يساعد المبتدئين.

يعد وضع المعلم جزءًا من Emacs Prelude ، وهي مجموعة من الإضافات ما الذي يسهل عليك إذا كنت تريد أن تتعلم.

ملحقات

نظرًا لأنهم محررون أكثر انتشارًا من العديد من المحررين الحديثين ولهم لغات امتداد خاصة بهم ، يمكنك العثور على سمات الألوان والمكونات الإضافية والمزيد. هناك أشياء مثيرة للاهتمام مثل:

يبدو أنه من الأسهل (أو الأكثر إمتاعًا) برمجة الإضافات في Emacs Lisp مقارنة بـ VimScript. أعني ، إنها لغة وظيفية يتم تفسيرها بواسطة نواة تم إنشاؤها من أجل ذلك ، مقابل لغة حتمية تم تكوينها وتوسيعها.

اختتام

إلق نظرة! لا يكلفك شيئًا ، كلاهما برنامج مجاني يتم توزيعه مجانًا. يجب أن يكونوا في مستودعات جميع التوزيعات المعروفة للإنسان ويمكن حتى العثور عليها في أنظمة الملكية المؤذية. ليس هناك الكثير لطلبه.

وأخيرًا ، إذا كنت مندهشًا من سبب وضع e قبل Emacs في العنوان بدلاً من y ، فذلك لأنه يبدو أفضل بالنسبة لي. شيء من هذا القبيل / í-macs /. لقد تمكنت من إنقاذ نفسي من المشاكل الإملائية من خلال تغيير الموضع ، لكنني أحب فعلاً أن يفعل فيم ذلك 😀


محتوى المقال يلتزم بمبادئنا أخلاقيات التحرير. للإبلاغ عن خطأ انقر فوق هنا.

27 تعليقات ، اترك لك

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   روتس 87 قال

    أنا فقط استخدم nano وفقط لتحرير بعض الملفات 0.0

    1.    مكافحة قال

      هذا في الغالب حجة لاستخدامها. أرى أن الكثير من الناس يفضلون عدم تجربتهم ، وبدأت في كتابة شيء لتشجيعهم. هذا هو.

      (أعلم أنه عنصر ضعيف)

      1.    داميان ريفيرا قال

        إنه ليس كسولًا على الإطلاق ، يعد emacs و vim محررين نصيين رائعين ، وأنا أفضلهم (vim) بدلاً من IDE

        تحياتي

        1.    مكافحة قال

          شكرا. الآن بعد أن فكرت في الأمر ، أعتقد أنني أعطيت مغرفة بالصدفة. يبدو أن "التوزيع" الذي أذكره قد تم إصداره اليوم للتو.

    2.    KZKG ^ جارا قال

      آهاهاها يحدث لي نفس الشيء ، مع نانو بقيت أكثر 😀

  2.   يولاندرو قال

    حسنًا ، لقد احتجت مؤخرًا إلى تحرير ملف عن طريق telnet في نقطة وصول باستخدام dd-wrt وكان علي أن أتذكر vi.

  3.   MSX قال

    1. " هناك حرب الناشر. »
    خطأ!
    Vim محرر ، Emacs هو مصادم هادرون الجاهز للاستخدام على جهاز الكمبيوتر الخاص بك ، كما تعلم!

    2. استخدام كريم (ajjj) أو أي نوع من "المساعد" لـ Vim أو Emacs هو نفسه تثبيت Manjaro والتظاهر بأنك قمت بتثبيت Arch واستخدامه - مع التحذير المحتمل بأن المساعد لا يغير جوهر Vim أو Emacs و Manjaro هو Manjaro لكن ليس Arch.

    إذا كنت ترغب حقًا في إثارة إعجابك باستخدام Emacs ، فهناك بعض المواقع الرائعة:
    http://emacsrocks.com/
    http://www.masteringemacs.org/
    http://batsov.com/prelude/
    http://lisperati.com/casting.html

    1.    مكافحة قال

      Emacs هو مترجم Lisp مع ميزات إضافية لتحرير النص.
      يمكن أن يكون الكريم هو كل ما تريد ، ولكنه موجود حتى لا يصطدم المبتدئين مباشرة بجدار التعديل النموذجي.
      Emacs أسهل إلى حد ما في البداية ، لأن نعم ، اكتب إلى الأول

  4.   أنوبيس قال

    [وضع falmewar ON]

    Emacs ، نظام التشغيل الذي لا يزال يفتقر بعد 35 عامًا إلى محرر نصوص جيد 😛

  5.   xykyz قال

    "فيم وإيماكس". يُساء استخدام الحرف "e" في العنوان (وفي مكان ما من النص) ...

    1.    xykyz قال

      وبالمناسبة ، أستخدم vim لكل شيء بالفعل. لقد بدأت استخدامه العام الماضي والآن أصبح لا غنى عنه بالنسبة لي. كما أن لديها ميزة أن vi مثبت مسبقًا في الكل (أو على الأقل تقريبًا) ، وهو نفس الشيء تقريبًا في المعالجة ، لذا بمعرفة كيفية استخدامه يمكنك تحرير الملفات في أي توزيع ، سواء كان يحتوي على X11 أم لا.

      لقد جربت Emacs ، لكنهم بدوا أن تركيبات لوحة المفاتيح غير مريحة لذلك ركزت على Vim

    2.    مكافحة قال

      لقد أوضح ذلك بالفعل إلى الأسفل. بالنسبة لي ما يجب استخدامه e لأن العبارة تبدو مثل / vim و i-macs /، مع ملاحظة أن y يتغير إلى e عندما تبدأ الكلمة التالية بصوت i.
      ومع ذلك ، كان من الأفضل إرجاعها إلى الوراء وتجنب المشاكل ، لكن القليل من التجارب لا يؤذي أحداً.

      1.    xykyz قال

        حسنًا ، لم أتمكن من قراءة المقال بالكامل بسبب ضيق الوقت هاها.

        لا يزال خطأ إملائيًا على أي حال ، بقدر ما يبدو أفضل.

        1.    مكافحة قال

          جيد. لا شيء أكثر من هذا الشيء الغريب أن تنتقده دون إنهاء القراءة.
          آمل أن تعفيني عن هذا النقص. يبدو أنهم مروا به أيضًا في المراجعة ، لذلك يجب أن يتفقوا معي ، ولكن يجب مراجعة بعض الإشارات من RAE للكلمات الأجنبية. هذه غير قابلة للترجمة.

          1.    xykyz قال

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

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

            على كل حال لم يكن انتقاد مجرد تعليق واقول لكم من الان انا دائما احب مقالاتكم 😉

        2.    مكافحة قال

          شكرا. ردود الفعل والنقد البناء يخدمنا جميعًا.

  6.   ديازيبان قال

    لا أحب استخدامها ، ولكن في دورة البرمجة الوظيفية المتقدمة ، كان عليك إنشاء محرر من نوع Vim ، ولكن في haskell.

  7.   تيو 100 قال

    أفضّل استخدام vi أو vim لكونه الأكثر عالمية لأنه في أي نظام تشغيل يعمل بنفس الطريقة وكل * nix يشمله ، وأعني بالجميع من GNU / Linux و HP-UX و Solaris و AIX و BSD إلى إصدارات مختصرة من Linux dd-wrt.

  8.   أبيمايل مارتل قال

    أبرمج 100٪ باستخدام VIM (Ruby و PHP و Javascript و Coffescript و CSS والمزيد)
    هنا توزيع لمبرمجي الياقوت ، فهو مكتمل للغاية ويحتوي على العديد من الأشياء المفيدة ، وتحياتي (https://github.com/carlhuda/janus)

    1.    داميان ريفيرا قال

      هذا ما أقوله (أعلاه) أستخدم vim لـ mono و java و perl و bash و python ، فقط اللغات غير المفسرة يجب أن تستخدم المحطة الطرفية للترجمة ، في FreeBSD أستخدم (وأستخدم) الكثير من VI الذي هو المحرر الأصلي ولكن أيضًا قم بتثبيت ee and Joe جيدًا جدًا (على غرار nano) ، الشيء الجيد في Gentoo هو أنه يجلب nano لكنني قمت بالفعل بتجميع vim وأحبها كثيرًا! إنه أفضل محرر موجود وتم تعديله حسب احتياجاتك وهو أداة مثالية لإدارة النظام

      تحياتي

  9.   ماتياس (@ W4t145) قال

    Vim Vim Vim! ، إلى الأبد ، إنه يعمل في كل شيء وفي أي مكان ، ولا أغيره أبدًا

  10.   نانو قال

    آه ، لا أعرف ، أنا كسول وأستخدم Sublime xD

  11.   دانيال روجاس قال

    أستخدم Vim دائمًا ، فأنا أحبه وأجده عمليًا ومريحًا للغاية 😀

  12.   دراغنيل قال

    ببساطة هيم ، ضروري في يومي حتى يومنا هذا.

  13.   جيدو رولون قال

    قواعد vim! لكن الصخور «إد» !!!! ،

  14.   همة قال

    يكتب فيم أورانج غرامة فيم كريستال يكتب عادي ، فيم ، فيم ، فيم ...

  15.   يوغربلانكو قال

    يجب أن تتعلم الفروق بين "لأن" و "لماذا" و "لماذا" و "لماذا". ذكر ، في النص كله لم تعط واحدًا.