مؤلف المشاركة الأصلية باللغة الروسية: varanioربما تكون قد قرأت
مقالًا حديثًا
يوحي بأن vim رائع على عكس IDE ، بسبب سرعة الكتابة المزعومة.
دعونا نتذكر أن الرسالة الرئيسية في هذا المقال كانت أن ميزة القاتل فيم تتكون في أوضاعها التي تفوق كل شيء آخر. ومع ذلك ، أقر المؤلف بأن IntelliJ IDEA و IDEs الأخرى توفر مفاتيح الاختصار وتجربة المستخدم الأخرى التي يمكن استخدامها بسهولة. ومع ذلك ، نظرًا لأنهم يفتقرون إلى الأوضاع ، فمن المفترض أن يكون vim هو الخيار الأول للجميع.
يقترح المؤلف أنه بدلاً من الضغط على
ctrl+arrows
للتنقل بين الكلمات ، من الأسهل الضغط على Esc ، e ثم العودة إلى وضع
i
edit. من المفهوم ، كل هذا المتاعب لأن المؤلف يجد أنه من
غير المناسب الاستمرار في ctrl
.
أعلم أن المقالات التي تنتقد vim تحظى بالعديد من الأصوات السلبية ، لكن يجب أن أتحدث فقط.
هل سطور التعليمات البرمجية الخاصة بك طويلة جدًا بحيث ينمو إصبعك بالتعب مع الاستمرار على مفتاح النقطة التي تحتاج فيها بالفعل إلى أوضاع؟ يمكنني الحصول عليه عندما تكتب ثابتًا طويلًا - في هذه الحالة ، يمكنك الضغط على Caps Lock واكتب اسمه. حتى ذلك الحين بالكاد أضغط على هذا المفتاح أكثر من مرة في السنة. ولكن لتبديل الأوضاع جيئة وذهابا للمضي قدما إلى أسفل بضع كلمات ، ناهيك عن استدعاء ميزة القاتل فيم ، يبدو وكأنه قليلا من امتداد.
بالمناسبة ، في IntelliJ IDEA ، يمكنك تغيير حالة الكلمة (أو النص المحدد) بمفتاح واحد ، لذلك لا يتطلب الأمر استخدام Caps Lock أيضًا.
أعترف أن vim يمكن أن يكون جيدًا لتحرير ملفات التكوين على خادم بعيد. أيضًا ، يمكن أن تكون vim عظيمة للغات الجديدة التي لم يتم لعبها من قِبل JetBrains. تعد كتابة الإضافات المخصصة أسهل للعنصر (لكن في 99٪ من الحالات لن تحتاج إليها مع IDE مناسب). ربما ، هو أكثر ملاءمة لتحرير النصوص الطويلة. ولكن هذا لا صلة له بالترميز الصناعي القياسي!
أود أن أذكر على الفور عدة نقاط هنا.
يمكن تحويل Vim إلى نوع من IDE عن طريق تثبيت الإضافات وتعلم مفاتيح الاختصار لتشغيل تلك الإضافات
يمكن بالفعل ، ولكن لماذا يزعج أي شخص؟
يبدو أنه تحدٍ غريب بالنظر إلى أن IDEs لديها كل شيء ، وبتجربة أكثر سهولة في الاستخدام. لن تضطر إلى استخدام الماوس ، أعدك!
واسمحوا لي أن أشرح الأمر بالتحرير بدون ماوس باستخدام مثال. أقوم أولاً بفتح IntelliJ IDEA وإنشاء ملف جديد.
أضغط p ، وسيقوم IDE على الفور بمطالبة حزمة الكلمات. كل ما أحتاج إليه هو الضغط على Enter لوضع حزمة الكلمات في النص داخل المحرر.
ثم أضغط على
c
، ويقترح IDE الفصل مرة واحدة.
أدخِل اسم الفئة (على سبيل المثال ،
Habr
) ، واكتب الدعامة المتعرجة
{
، ويكمل IDE تلقائيًا دعامة الإغلاق خلف المؤشر مباشرةً.
ثم اكتب pu ، ويفهم IDE أنه من المحتمل أن يكون عامًا. أنا اكتب
H
واضغط على
Enter
للحصول على Habr ، لأن IDE قد حصلت عليه بالفعل وأريد إنشاء مُنشئ.
أستمر في كتابة نص المنشئ ، على سبيل المثال ، أسمي طريقة init () ، والتي لم تصل بعد. يبرز IDE الخاص بي باللون الأحمر ، مما يشير إلى أن هذه الطريقة غير موجودة. بمجرد الضغط على
alt-ENTER
، ستقوم IDE بإدراج مقتطف الشفرة في المكان الصحيح:
private void init() { }
إذا صادفت كتابة
new Habr(5)
داخل هذه الطريقة (الكلمة التي طُلب منها أيضًا Habr بالطبع) ، على سبيل المثال ، إذا حاولت الاتصال بمنشئ غير موجود ، ستقوم IntelliJ IDEA بتأكيد هذا الشيء على الفور ، لذلك أنا فقط اضغط على
<alt-ENTER>
واختر ما أريد القيام به بالضبط: ما إذا كان سيتم إضافة وسيطة int إلى المُنشئ أو إضافة مُنشئ جديد بمعلمة int. اخترت الخيار الأخير ، ويضيف IDE فورًا مُنشئًا جديدًا بعد الأول:
public Habr(int i) { }
لن أذكر المسافة البادئة التلقائية والميزات الأخرى التي تساعدك على تحرير الشفرة ، لأنها موجودة بشكل طبيعي.
إليكم ما حصلت عليه في النهاية:
package x; class Habr { public Habr() { init(); } public Habr(int i) { } private void init() { new Habr(5); } }
كل ما فعلته هو ضرب حرفي بضعة مفاتيح ومفتاح التشغيل
<alt-ENTER>
.
لم أقم بتثبيت أي ملحقات إضافية.
لم أضطر إلى التدريب لمدة شهر حتى أتمكن من القيام بذلك.
لم أتطرق إلى الماوس (استخدمت Caps Lock هنا ليس لأنني أردت أن أصرخ مثل nutcase ، ولكن لأنه كان من الممتع تجربة الميزة).
لم أتحول إلى أي أوضاع ولم أضطر إلى تذكر أي مجموعات مفاتيح أو مفاتيح. الشيء الوحيد الذي استخدمته هو
<alt-ENTER>
(ولكن هذا كان شيئًا يعتمد على السياق ، وهو نوع من مفاتيح الاختصار "حل المشكلات").
إذا كنت تكره استخدام الماوس ، فيمكنك التنقل خلال التعليمات البرمجية باستخدام مفاتيح الاختصار الخاصة ، مثل الانتقال إلى الفئة المناسبة أو الملف أو الطريقة أو رقم السطر ، إلخ.
يمكنك تحديد النص بالضغط المتكرر على
<ctrl-W>
لتحديد الكلمة الحالية والنص الحالي بين المشابك وما إلى ذلك.
Vim يسمح لك بالقفز إلى شخصية معينة. على سبيل المثال ، يمكنك الوصول إلى حرف x في سطر النص دون لمس الماوس. ومع ذلك ، يمنحك IDE هذه الفرصة أيضًا من خلال الضغط على
<ctrl-f>
والكتابة في الجزء المطلوب من النص. هذا أيضًا نوع من الوضع بالمناسبة. يطلق عليه وضع البحث ، duh!
لا أحتاج أيضًا إلى الانتقال من الماوس إلى استدعاء الوظيفة الصحيحة ، ثم مرة أخرى بدون الماوس (اضغط على
ctrl-b
) ، للانتقال إلى وصف هذه الوظيفة.
يحتوي Vim على العديد من ميزات التحرير الفريدة من نوعها الموجودة في بيئات IDE
- الانتقال إلى الفقرة التالية / السابقة.
نعم ، يبدو كميزة مفيدة لـ IDE. ولكن بدلاً من تحرير المقالات الخاصة بـ Habr بدلاً من الترميز الفعلي. - الانتقال إلى حرف الفضاء التالي.
حسنًا ، يمكنك أن تسميها ميزة مفيدة ، ولكنها ليست رائعة. الضغط المتكرر ctrl+arrows
سوف ينتج عنه نفس التأثير. - القفز نصف صفحة أعلى / أسفل.
لم أقرر بعد ما إذا كنت بحاجة إلى هذا لأي شيء. - القفز إلى السطر الأول / الأخير / الأوسط على الشاشة.
أنا حقا لا أرى ما هذا. بمعنى أنه قد يكون مفيدًا لبعض الوقت ، لكنه ليس بأي حال ميزة قاتلة. - من الممكن حذف أسطر الكود بالضبط.
نعم ، صحيح ، أنا أفعل هذا كل يوم. يحتاج الجميع إلى حذف 19 سطرًا من الشفرة بالضبط من وقت لآخر ، أليس كذلك؟
أنا في أي حال من الأحوال معلم vim ، لذلك قد فاتني بعض الجوانب الرئيسية. يرجى مشاركة أفكارك في قسم التعليقات. نعم ، بالطبع هناك zillions من الإضافات علاوة على ذلك. لكن IDEs لديهم أيضا ، وبكميات مماثلة.
ملخص
هنا هو بلدي اتخاذ بعيدا عن هذا. سأبتعد عن vim عندما يتعلق الأمر بتحرير الكود ، بغض النظر عما ستقوله. لم أكن معجبًا جدًا باستخدام الأوضاع بدلاً من الضغط على ctrl أو حتى
ctrl-alt-shift
. تمنحك IDEs المزيد من الميزات خارج الصندوق ، دون الحاجة إلى قضاء بعض الوقت في تعلم وتعيين
مفاتيح الاختصار . يمكن إنجاز معظم المهام اليومية باستخدام IDE من خلال تعلم بضعة مفاتيح الاختصار. يمكنك تخطيها تمامًا إذا كنت سعيدًا باستخدام الماوس.
لقد ثبت منذ وقت طويل أن المبرمج يستغرق وقتًا أطول لتعلم الكود بدلاً من كتابته بالفعل. لذلك ، إذا كنت ستستخدم الماوس أم لا ، فلن تحدث فرقًا كبيرًا. ومع ذلك ، اسمحوا لي أن أكرر أن IDEs يسمح لك بالقيام بكل شيء تقريبًا (إن لم يكن كل شيء) دون استخدام الماوس.
ستعمل Vim بشكل أفضل من nano لتحرير ملفات التكوين عن بعد على الخادم ، شريطة استيفاء الشروط التالية:
- تحتاج إلى الحصول على قبضة جيدة من vim.
- تحتاج إلى تحرير الكميات الصناعية من ملفات التكوين لتشعر بالميزة. إذا كنت تحتاج فقط إلى إجراء تغييرات على ملف تكوين واحد مرة أو مرتين في الشهر ، فستعمل nano أو أي شيء على الإطلاق بشكل جيد.
يمكنك البدء في التصويت لي أو الأفضل من ذلك ، تقديم حججك المضادة :).