كيف تبني بيئة تطوير عديمة الماوس الخاصة بك

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

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

لكن Ubuntu لم تكن خالية من العيوب. غالبًا ما كنت ضحية أخطاء العرض وتعطله ، وكان يتباطأ ويتباطأ بمرور الوقت.

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

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

تغيرت حياتي كمطور مرة أخرى عندما استأجرت شركتي مطورين رائعين. كانوا يعرفون الكثير عن Linux والتوزيعات المختلفة التي يمكنني استخدامها. لقد أرشدوني وأظهروا لي الأدوات التي حلت جميع المشاكل التي واجهتني مع Ubuntu. أدت هذه الأدوات إلى تحسين سير عملي بشكل كبير ؛ أظهروا لي كيف كان عمليًا للمطور أن يبقي يديه على لوحة المفاتيح قدر الإمكان.

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

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

  • لماذا يمكن أن يكون استخدام Linux shell قويًا جدًا عند العمل مع نص عادي (بما في ذلك التعليمات البرمجية) ؛
  • لماذا استخدام Arch Linux المخيف؟
  • ميزة مدير نوافذ التبليط ؛
  • كيفية الحصول على تجربة طرفية رائعة مع URxvt و tmux و tmuxp ؛
  • لماذا يمكن أن يصبح فيم أفضل صديق لك.

ملاحظة : الأدوات التي أدافع عنها في هذه المقالة تعمل على الأنظمة المستندة إلى Linux. يمكنك أيضًا استخدامها مع macOS باستثناء i3. بالنسبة لنظام التشغيل Windows ، فإن أسهل طريقة هي استخدام نظام Windows Linux الفرعي (WSL) لتثبيتها واستخدامها.

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

فئران مع القشرة

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

فوائد شل

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

المحطة عبارة عن واجهة رسومية تتيح لك التفاعل مع الغلاف. على نظام Linux ، غالبًا ما تكون هذه الصدفة Bash ، لكنها يمكن أن تكون أخرى أيضًا ، eh Zsh. القذيفة مترجم. يمكنك إطعامه بالأوامر وسيتم تنفيذها لأداء بعض الإجراءات. كما أنه في بعض الأحيان يعطيك نتيجة. المصطلحان "سطر الأوامر" و "قذيفة" مترادفات.

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

الميزة الكبيرة لهذه الأدوات هي أنها بسيطة للغاية ومحدودة بمعزل عن غيرها ، ولكن يمكنك ربطها للحصول على نتائج قوية . على سبيل المثال ، يمكنك استخدام "history" و "sort" و "uniq" و "head" كليًا لعرض CLIs التي تستخدمها كثيرًا وتكرار استخدامها.

لينكس شل
لينكس شل. (معاينة كبيرة)

هناك العديد من CLIs المتاحة هناك. أولاً ، لأن قشرة Linux موجودة منذ فترة طويلة ؛ كان لدى المطورين الوقت لتطوير العديد من الأدوات وجعلها موثوقة. ثانيًا ، لأنه من الأسهل تطوير CLIs من واجهات المستخدم الرسومية (GUI). يستغرق تصميم وتنفيذ هذه الواجهات الرسومية الكثير من العمل. تحتوي CLIs على واجهات نصية فقط ، والتي يسهل تطويرها وتغييرها وصيانتها.

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

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

المزيد بعد القفز! أكمل القراءة أدناه ↓

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

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

نهج موحى

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

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

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

حتى لو لم يتم إثبات ذلك حقًا ، أعتقد أيضًا أن البقاء على لوحة المفاتيح يجعلنا أكثر كفاءة . كما أشار كتاب المبرمج البراغماتي :

"يعد استخدام ضغطات المفاتيح فقط لعمليات التحرير الشائعة أكثر فاعلية من أوامر الماوس أو القائمة لأن يديك لا تتركان لوحة المفاتيح أبدًا."

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

بيدروك: آرتش لينكس

في بداية رحلتي الخالية من الماوس ، نصحني أحد أصدقائي الجدد باستخدام Arch Linux بدلاً من Ubuntu. مرة أخرى ، كانت الشكوك تزحف ، وكانت الشكوك تغزو عقلي الفقير. قوس لينكس؟ توزيع Linux الرهيب هذا تحتاج إلى تثبيته وتكوينه يدويًا بالكامل؟ أصبح هذا النظام غير المستقر مزحة للكثيرين؟

في بعض الأحيان ، لا علاقة للصور النمطية بالواقع ، ويعتبر Arch Linux المثال المثالي لهذه الفكرة. لقد استخدمت Windows (من 98 إلى 7) و macOS وجربت توزيعات Linux الأخرى أيضًا. استنتاجي بلا شك: Arch Linux هو الأكثر استقرارًا على الإطلاق.

ومع ذلك ، فإن Arch Linux ليس شرطًا لبيئة تطوير بدون ماوس. يمكنك استخدام جميع الأدوات الأخرى الموضحة في هذه المقالة مع توزيعات Linux الأخرى أيضًا. يمكنك أيضًا استخدامها مع macOS (باستثناء i3) ، أو Windows إذا كان لديك نظام Windows الفرعي لنظام Linux (WSL). ولكن ، قبل القيام بذلك ، دعني أخبرك لماذا يجب أن تفكر بجدية في Arch Linux .

نظام الإصدار المتداول

يحتوي Arch Linux على نظام إصدار متجدد . هذا يعني أنك بحاجة إلى تحديث نظامك بالكامل بشكل متكرر ، أسبوعيًا أو كل أسبوعين. للرجوع إلى Ubuntu ، فإنه يحتوي على نظام دعم طويل المدى : ما عليك سوى تحديثه مرتين في السنة ، أو حتى أقل إذا كنت ترغب في ذلك.

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

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

أخبرتك بتجربتي مع Ubuntu والأعطال التي تعرضت لها عند تحديثها. لم أواجه أي مشكلة مع Arch Linux.

كل ما تحتاجه

بالإضافة إلى ذلك ، فإن مستودعات Arch Linux ضخمة. من المحتمل جدًا أن تجد كل أداة تحتاجها هناك. إذا لم تقم بذلك ، يمكنك إلقاء نظرة على AUR (مستودعات مستخدم القوس) ، حيث يوجد كل شيء آخر. AUR ليس مستودعًا رسميًا ، لذلك قد تكون هناك بعض المشكلات الأمنية في التطبيقات الموجودة هناك. مرة أخرى ، لم أواجه أي مشكلة معهم ، لكن هذا ممكن. طالما أنك تلتزم بالمستودعات الرسمية ولا تقوم بتثبيت كل شيء وأي شيء من AUR ، فلن تواجه أي مشكلة.

فرصة التعلم

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

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

أخيرًا وليس آخرًا ، يعد Arch Wiki أفضل مكان يمكنك العثور عليه لأي شيء متعلق بنظام Linux. لقد ساعدني كثيرًا على مر السنين ، حتى عندما كنت أستخدم Ubuntu. إنه مكان رائع لاستكشاف أخطاء نظامك وإيجاد أدوات جديدة.

إدارة Windows الخاص بك مع i3

الآن بعد أن استعرضنا لماذا يمكن أن يكون Arch Linux أساسًا صلبًا لبيئة تطوير Mouseless الخاصة بك ، دعنا نرى ما يمكننا إضافته في الأعلى.

لكن أولاً ، القليل من النظرية. غالبًا ما تحتوي أنظمة التشغيل على ثلاث طبقات ، مقترنة إلى حد ما ببعضها البعض:

  1. النواة ، التي تشتغل مباشرة مع أجهزة الكمبيوتر الخاص بك ؛
  2. الصدفة ، واجهة لك ، أو بعض التطبيقات ، للتفاعل مع النواة ؛
  3. طبقة عرض في الأعلى ، مثل مدير سطح المكتب أو مدير نوافذ التبليط.

Gnome أو Unity كلاهما مديرا سطح مكتب للأنظمة المستندة إلى Linux. يديرون النوافذ والعديد من الأشياء الأخرى ، مثل شريط الحالة أو مشغل التطبيق. يُعد مديرو نوافذ التجانب بديلاً لمديري سطح المكتب ، وغالبًا ما يكونون أصغر حجمًا وأكثر تركيزًا على معالجة النوافذ.

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

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

على سبيل المثال ، إذا فتحت Firefox ، فستأخذ نافذته 100٪ من الشاشة. إذا فتحت ثلاث مثيلات من Firefox ، فسيأخذ كل منها 33٪ من الشاشة.

i3 مع نافذة فيرفوكس
i3 مع نافذة فيرفوكس. (معاينة كبيرة)

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

i3 مع نوافذ فيرفوكس مكدسة
i3 مع نوافذ فيرفوكس مكدسة. (معاينة كبيرة)

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

هل تبدو معقدة للغاية؟ لقد كنت فعالاً مع i3 بعد يومين من تجربته. أنا لست عبقري. إذا كان بإمكاني فعل ذلك ، يمكنك القيام به أيضًا.

The Cherry on the Cake: مثل كل أداة موصوفة في هذه المقالة ، يمكنك تخصيص i3 وضربات المفاتيح الخاصة به كمحتوى قلبك.

العيب الوحيد في i3: إنه غير متوفر لنظام macOS. ولكن هناك بدائل رائعة ، مثل مدير نوافذ التبليط Amethyst أو Divvy.

ارفع مستوى جهازك باستخدام URxvt و tmux و tmuxp

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

طريق البساطة مع URxvt

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

معدد المحطة الطرفية مع tmux

حتى لو أحببت بساطة URxvt ، فأنا أيضًا أحب امتلاك مُضاعِف طرفي جيد يمكنني الاعتماد عليه ، مثل tmux.

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

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

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

هل يذكرك بـ i3؟ إنه يتبع نفس المبادئ ، لكن يمكنه فقط إنشاء قذائف جديدة. هذا هو السبب في أن العديد من المستخدمين الذين يسعدون بـ i3 لا يرون أي فائدة من استخدام tmux. أنا شخصياً أحب استخدام كليهما.

Tmux مع 4 نوافذ و 4 أجزاء
Tmux مع 4 نوافذ و 4 أجزاء. (معاينة كبيرة)

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

tmuxp

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

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

ولكن يمكنك أيضًا أتمتة كل ذلك ، وهنا تبرز القوة الحقيقية لـ tmux - في سياق بيئة التطوير - حقًا. باستخدام CLI آخر يسمى tmuxp ، يمكنك تدوين في ملف تكوين YAML النوافذ والأجزاء وأي أمر تريده. بعد ذلك ، يمكنك تحميل هذا التكوين وإنشاء جلسة tmux المخصصة تلقائيًا.

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

Editor Plus Shell يساوي IDE

نظرًا لأن الغلاف قوي جدًا ، فلماذا لا يتم تشغيل محرر فيه بشكل مباشر؟ لماذا لا تستخدم Vim؟

مثل Arch Linux ، يتمتع Vim بسمعة يصعب تعلمها. إنها أكثر دقة: من السهل جدًا أن تكون منتجًا بها ، لكن إتقانها يستغرق وقتًا طويلاً. إذا كنت تقوم بتشغيل Linux وكان لديك Vim مثبتًا ، فيمكنك تعلم الأساسيات في 20 دقيقة عن طريق تشغيل vimtutor في قوقعتك.

يقدم Vim العديد من الوظائف التي يمكن تمديدها بشكل أكبر باستخدام مكونات إضافية لا حصر لها. بالإضافة إلى ذلك ، يمكنك التفاعل مباشرة مع قوقعتك باستخدام Vim ، باستخدام أي CLI تريده مباشرة في المحرر الخاص بك. سوف يحول Vim إلى IDE كامل النضج.

يتمتع Vim بميزة كبيرة أخرى: يمكنك استخدامه للتطوير في العديد من لغات البرمجة. لا أحب التبديل بين IDEs المختلفة في كل مرة أحتاج فيها إلى البرمجة في PHP أو Golang أو Clojure. الواجهة مختلفة ، فأنا بحاجة إلى تكوين كل من هؤلاء المحررين على حدة ، ولا يمكنني حقًا حفظ التكوينات في مكان ما لاستخدامها مرة أخرى عند إعادة تثبيت هذه الأدوات.

باستخدام Vim ، يمكنني الترميز بأي لغة أريدها أثناء البقاء في نفس المحرر . مثل VS Code ، يمكنك استخدام LSPs (موفرو خوادم اللغة) لتمكين الإكمال التلقائي والفحص وإعادة البناء التلقائي للغات البرمجة الأكثر شيوعًا (وحتى اللغات الأكثر سرية).

فيم في العمل
فيم في العمل. (معاينة كبيرة)

Vim سريع أيضًا. لا يتطلب الكثير من الموارد للتشغيل. غالبًا ما يكون لدي 6 أو 7 مثيلات للمحرر مفتوحة في جميع الأوقات على جهاز الكمبيوتر القديم - دون أي مشاكل. بالمقارنة ، استخدمت IntelliJ IDEs لسنوات ، وعندما كنت أقوم بافتتاح اثنين منهم ، بدأ نظامي بالكامل في التباطؤ. إنه عملي حقًا عندما أعمل في مشاريع مختلفة في نفس الوقت ، مثل مجموعة من الخدمات المصغرة ، على سبيل المثال.

هل يجب أن أضيف أن Vim قابل للتكوين بدرجة عالية ؟ بدلاً من وجود العديد من الوظائف مباشرة في IDE الخاص بك (بما في ذلك بعض الوظائف التي لن تستخدمها أبدًا) ، يمكنك اختيار ما تحتاجه بالضبط وتجاهل ما لا تريده.

مجموعة من ضربات المفاتيح المتماسكة

إذا كان Arch Linux هو حجر الأساس لبيئة تطوير Mouseless الخاصة بي ، فإن i3 و Zsh و tmux و Vim هي طاولات العمل لاحتياجاتي الإبداعية. إنه يمنحني مستوى من الراحة لم أجربه مطلقًا مع أي أدوات أخرى.

ولكن قد تتساءل لماذا يجب عليك استخدام كل هذه الأدوات الجديدة وضغطات المفاتيح الخاصة بها بينما يمكنك بالفعل استخدام الاختصارات للأدوات التي تعرفها بالفعل؟

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

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

بالإضافة إلى ذلك ، تم تصميم Vim ليكون له ضغطات مفاتيح منطقية من خلال إنشاء لغة بسيطة يمكنك الاعتماد عليها. على سبيل المثال ، من أجل حذف كلمة ، يمكنك الضغط على " daw ". لحذف فقرة ، إنها dap . نظرًا لأن العديد من CLIs تعتمد على ضغطات مفاتيح Vim ، فإن تعلم Vim سيفتح الباب أمام العديد من CLIs الأخرى .

تثبيت بيئة تطوير عديمة الماوس تلقائيًا

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

هل أنت مستعد لأن تكون مطورًا بدون ماوس؟

نظرًا للمرونة التي أملكها في بيئة التطوير الخاصة بي ، يمكنني أيضًا تبديل الأدوات بسهولة. على سبيل المثال ، إذا لم أرغب في استخدام tmux بعد الآن ، يمكنني استبداله بمضاعف طرفي آخر. إذا لم يعجبني شريط الحالة الخاص بـ i3 أو مشغل التطبيقات ، يمكنني استبدالهما أيضًا.

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

إذا كنت مهتمًا ، فستجد هنا عينة من الكتاب بالإضافة إلى جدول محتوياته بالكامل.

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

مزيد من القراءة في مجلة Smashing

  • "لقد استخدمت الويب لمدة يوم واحد فقط باستخدام لوحة مفاتيح ،" كريس أشتون
  • "دليل كامل للوحات المفاتيح الميكانيكية" بن فراين
  • "صنع حجة قوية لإمكانية الوصول" ، تود ليبي
  • "إمكانية الوصول في Chrome DevTools" ، عمر هانسا