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

في هذا المنشور ، سوف أخبرك بكيفية تحسين سرعة الترميز ، وكيفية التنقل في التعليمات البرمجية بشكل أسرع وكيفية التخلص من فأرة الكمبيوتر. سنتحدث عن VIM (أفضل محرر نصوص معروف للبشر). في أيدي غير ماهرين ، هو مجرد محرر نصوص محرج ، ولا أحد يعرف كيفية الخروج منه. ولكن في الواقع ، إنه محرر نصوص قابل للتكوين بدرجة عالية (أو مكون إضافي لأي IDE تقريبًا) الذي تم تصميمه للسماح لك بإدارة التعليمات البرمجية الخاصة بك بالطريقة الأكثر فعالية. VIM ليس مجرد محرر نصوص. لا تبدو مجنونًا ، لكن تخيل أنك لا ترمز ، فأنت تتحدث مع الكمبيوتر. لذلك يمكن بناء عملية الترميز في المونولوج التالي:
- هنا
string text = file.ReadAll();
: string text = file.ReadAll();
- إنشاء سطر فارغ فوق هذا واحد
- انقل جميع الخطوط مع تعليقات
TODO
إلى نهاية هذا الملف - انتقل إلى وظيفة
GetDirectoryFiles
وانسخ جميع محتوياتها - انتقل إلى عبارة "إذا" واستبدل محتواها بالنص من المخزن المؤقت
- توسيط هذا الخط في منتصف الشاشة
ولكن إذا كنت تريد الرقص ، فعليك أن تدفع المالح. "للتحدث" مع VIM ، يجب أن تتعلم اللغة التي لها أسماءها وأفعالها وصفاتها وما إلى ذلك. هذا هو السبب في عدم وجود اختصارات لـ VIM ، فهي تحتوي على جمل (مثل تغيير العلامة الداخلية) . عندما تتعلم أساسيات هذه اللغة ، ستتمكن من الجمع بين الجمل الخاصة بك اعتمادًا على ما ستفعله. بعد ذلك سوف تفهم أنك لا تحتاج إلى الماوس الخاص بك بعد الآن.
ليس من السهل البدء في تعلم هذه اللغة لأن جميع مكوناتها يجب أن تصبح عادتك. إنه تحد مؤلم لنفسك يمكن أن يستغرق أسبوعين على الأقل ، لذلك فكر مرتين قبل أن تبدأ. ولكن إذا تغلبت عليها ، فسوف تفتح عالماً جديداً لإدارة الشفرة الخاصة بك.
إن الفائدة الأساسية لإدخال البيانات السريع ليست هي الوقت الذي يتم توفيره في إدخال البيانات في الثانية الواحدة ، ولكن زيادة فرصة أن يديك يمكن أن تواكب عقلك.
المستوى 1 - البقاء على قيد الحياة
الميزة الأكثر تميزا في VIM هو أنه يحتوي على أوضاع. يمكننا تحديد الأربعة الرئيسية منها:
- الوضع العادي - هنا يمكنك كتابة أوامر نصية والتنقل. للدخول إلى هذا الوضع ، اضغط
ESC
- إدراج الوضع - في هذا الوضع ، يمكنك كتابة نص كما هو الحال في برامج التحرير الأخرى. للدخول إلى هذا الوضع ، اضغط على
i
- الوضع المرئي - هنا يمكنك تحديد النص. للدخول إلى هذا الوضع ، اضغط على
v
- وضع الأوامر - أوامر المحرر (مثل الحفظ ، الفتح ، إلخ) . للدخول إلى هذا الوضع ، اضغط على
:
أيضا ، عليك أن تتعلم الملاحة الأساسية التي تعمل في الوضع العادي. ننسى السهام لأنها بطيئة في العمل معها. عندما تكتب ، توضع أصابعك عادة في منتصف لوحة المفاتيح. اليد اليسرى على asdf واليد اليمنى على jkl ؛ . عادةً ما تتنقل في رمزك لأعلى / لأسفل ونادراً ما يسار / يمين (سنتحدث لاحقًا عن التنقل داخل السطر). لذلك التنقل في VIM هو ما يلي:
- أسفل -
j
(يشبه السهم لأسفل) - يصل -
k
- اليسار -
h
- صحيح -
l
للتعود على الحركة الأساسية ، يمكنك لعب لعبة VIM Adventures . في الواقع ، هذا كل ما عليك معرفته للبدء. لذلك ، تثبيت البرنامج المساعد vim على IDE المفضلة لديك والممارسة. ضع في اعتبارك ، سيكون الأمر صعبًا.

المستوى 2 - الثقة
حسنا ، لقد قررت أن تتعلم VIM وهذا رائع. دعونا نتأكد من أنك تفعل ذلك بشكل صحيح. hjkl
أصابعك على التنقل hjkl
وأنت تعرف أيضًا كيفية تغيير الأوضاع من واحدة إلى أخرى. إذا كان هذا صحيحًا ، فأنت مستعد.
الحصول على وضع الإدراج
أنت تعرف أنه يمكنك الدخول إلى هذا الوضع بالضغط على لوحة المفاتيح. لنفكر i
أقف للإدراج كنص إدراج قبل المؤشر. يمكنك أيضًا الضغط a
أي حرف " إلحاق" كنص إلحاق بعد المؤشر. من السهل تكثيف هذه الأوامر عن طريق تغيير الحالة ، وبالتالي ستكون النتيجة كما يلي: أدرج نصًا قبل أول حرف غير فارغ في السطر وإلحاق A
بنص في نهاية السطر الحالي.
لجعل عملك في المستقبل أكثر متعة عليك أن تعرف الأمر o
الذي يلحق سطر فارغ جديد بعد التيار و O
الذي يفعل الشيء نفسه ولكن قبل السطر الحالي.
هذه هي أوامر تبديل وضع الإدراج الأكثر استخدامًا في VIM. إذا قمت بالتكيف مع hjkl
navigation ، hjkl
الأمر بضعة أيام لتعتاد على هذه الأوامر. كلما زادت عرقك أثناء التدريب ، قلت درجة نزفك في الحرب.
الوضع العادي
قبل أن نبدأ في تعلم لغة VIM ، يجب علينا أيضًا تحسين مهاراتنا في التنقل. في هذا السؤال ، سيساعدنا الأمر f
(لتقف على البحث ). يستخدم هذا الأمر للتنقل داخل السطر الحالي. اكتب f
ورسالة تريد نقل المؤشر إليها. ينقل fP
المؤشر من الموضع الحالي إلى أول ظهور للحرف P. يمكنك تشغيل هذا الأمر إلى F
الذي يقوم بنفس الشيء ولكن يغير اتجاه البحث.
فيم اللغة
الآن حان الوقت لتصبح مهووس مجنون. يجب عليك "التحدث" مع VIM في الوضع العادي. أولاً ، لننظر في بعض إنشاءات لغة VIM:
الأسماء:
w
كلمة
s
الجملة
p
- الفقرة
b
- (الكتلة / الأقواس)
علامة t
{
، }
، (
، )
، [
، ]
- الأقواس
"
، '
- يقتبس
الأفعال:
v
- تصورc
- التغيير (حذف النص وتحويل VIM إلى وضع الإدراج )d
- حذف ونسخ (حذف النص ولا يغير وضع VIM)y
- yank (يعني نسخة)
الاحوال:
i
- في الداخل- حول -
t
- حتىf
- حتى (شاملة)
انتبه إلى أن هذه الأوامر قد تعمل من تلقاء نفسها وليس كما تتوقع. علاوة على ذلك ، عند إنشاء جملة VIM ، يجب أن تكون كافية ويجب أن تكون جميع الإنشاءات في مكانها ، وإلا فسوف تحصل على نتيجة أخرى. الآن لننشئ بعض جمل VIM السهلة كمثال:
ciw
- تغيير داخل الكلمة - يحذف الكلمة بأكملها أسفل المؤشر ويتحول إلى وضع الإدراج ، على عكس cw
الذي يحذف كلمة من المؤشر إلى نهاية هذه الكلمة.cis
- تغيير داخل الجملة.ci"
- تغيير داخل" دعامة - يحذف كل النص الموجود بين "المشدات".da}
- احذف حول} brace - يحذف كل النص داخل الأقواس المتعرجة بما فيها.vip
- البصرية داخل الفقرة - يختار كل الفقرة.ctp
- التغيير حتى p - حذف كل شيء من هنا إلى الرسالة p .

لتوسيع لغة VIM الخاصة بك في الوقت الحالي ، أقترح عليك أن تتعلم إنشاء رقم VIM الجديد - معدِّل الأرقام. لننظر في الكود التالي:
function foo() { function bar() {
وتريد إزالة كل الشفرة داخل {} وظيفة foo
. باستخدام معدّل الأرقام ، من السهل القيام به. فقط اكتب 2ci{
- تغيير داخل الأقواس المتعرجة 2 مرات.

يعمل معدّل الأرقام ليس فقط في جمل ولكنه يعمل في كل مكان تقريبًا:
5j
- تحريك المؤشر لأسفل 5 مرات.2fK
- تحريك المؤشر إلى التكرار الثاني 2fK
k في السطر.2iHello <ESC>
- أدخل Hello
2 مرات.
كن ثابتا
عندما تتعلم VIM ، ستجد بعض التراكيب اللغوية الجديدة وتوسع لغتك VIM. يوما بعد يوم سيكون من الأسهل "التحدث" مع VIM. جميع الأوامر والمنشآت اللغوية مقترنة بإحكام وتُنشأ لتعظيم أدائك ، وقد ثبت ذلك بأكثر من 20 عامًا من وجود VIM.
المستوى 3 - اتقان
أنت في الطريق لتصبح سيد VIM. كما قد تجد ، ليس من السهل تعلم VIM. عندما تشعر بالقوة بين يديك باستخدام VIM ، فأنت تريد شيئًا أكثر وهذا ما يدور حوله هذا الجزء. يتم اكتشاف جميع المواضيع بشكل سطحي من أجل السماح لك بتحديد ما تريد.
VIM ليس IDE
نعم ، VIM ليس IDE على الرغم من أنه يمكنك إعداده لأداء جميع وظائف IDE تقريبًا. أنا متأكد من أنك لن تترك برنامج Visual Studio أو WebStorm المفضل لديك ولهذا السبب قمت بإعداد قائمة المكونات الإضافية لمعرف IDE الخاص بك وليس فقط.
- VSVim ل VisualStudio
- VS VIM ل VSCode
- IdeaVim for WebStorm و IntelliJ IDEA (ومنتجات Jetbrains الأخرى)
- النص السامي لديه وضع خمر خارج المربع
- وضع فيم للذرة
- XVim ل Xcode
- فاضح جدا! لا تكرر هذا في المنزل! يحتوي Google Chrome أيضًا على ملحقات للتنقل الشبيه بـ VIM. (ابحث عنه في متجر Chrome)
ومع ذلك ، يجب أن تضع في اعتبارك أنه يمكن تحقيق أقصى أداء من خلال استخدام VIM فقط. في الأساس ، إنه مناسب لمشاريع js / html / css الصغيرة ، وتحرير ملفات التكوين أو فقط كبديل للمفكرة ++ :)
الإضافات فيم
VIM لديه الآلاف من الإضافات لأي كابريس. هنا يمكنك أن تجد كل ما تريده تقريبًا من مستكشف الملفات والتكامل إلى أنظمة الإنشاء.
أحد الإضافات المفضلة لدي هو EasyMotion . تم إنشاؤه لتسريع الملاحة في VIM. EasyMotion متطورة للغاية ومتكاملة بعمق في فلسفة VIM. على سبيل المثال ، إذا كنت تريد فقط الانتقال إلى سطر معين خلف السطر الحالي ، يمكنك القيام بذلك عن طريق الضغط على المفتاح j
عدة مرات. بالمقارنة ، مع EasyMotion ، يمكنك الضغط على مفتاح Lead (في حالتي TAB
) و j
لتسليط الضوء على جميع الخطوط الموجودة خلفها بأحرف مختلفة. كل ما بقي فعله هو الضغط على الحرف الذي يمثل الخط الذي تحتاجه.

في حالتي ، ضغطت على المفتاح TAB
و ju
للانتقال إلى السطر المناسب. لقد كان أسهل مثال وكالعادة ، في عالم VIM ، يمكنك صياغة أي أمر تقريبًا وفقًا لاحتياجاتك.
تعيينات
هذه الميزة قررت أن تنظر بشكل منفصل. قد تفكر في التعيين كروابط رئيسية لجميع الأوضاع. وهذا يعني أنه يمكنك ربط بعض الأنماط بأداء بعض الإجراءات في أوضاع مختلفة.
لذلك دعونا ننظر إلى مثال سهل وحقيقي. كل شخص يعمل في VIM تقريبًا لا يغير الوضع من الإدراج إلى الوضع العادي عن طريق الضغط على ESC
. نحن نقوم بذلك عن طريق الضغط على jj
أو jk
لأن لدينا التعيين التالي :imap jj
< ESC
>. يعني imap
تعيين وضع الإدراج ويعني أنه يعمل فقط في وضع الإدراج.
يمكنك تعيين كل ما تريد القيام به وهذا سيوفر وقتك في المستقبل. قراءة المزيد حول رسم الخرائط هنا .
فيم الميزات
هناك الكثير من الأشياء التي يجب تعلمها في VIM إلى جانب الميزات المذكورة أعلاه. يجب عليك بالتأكيد الانتباه إلى القائمة التالية:
- الأوامر العالمية
- بحث واستبدال
- وحدات الماكرو والسجلات
- مخازن
- علامات التبويب
- المسافات البادئة والطيات
- autocommands
قد تكون موجودة في أدوات التطوير الأخرى ، ولكن هذا هو VIM. يوما بعد يوم سوف تتساءل كيف يتم بناء كل هذه الأشياء الرائعة. التحقق من ذلك للتأكد.
التكوين
هناك الكثير من إعدادات VIM التي يجب تخزينها في مكان ما من أجل استخدام نفس الإعدادات لجميع المحررين مع البرنامج المساعد VIM. وهذه مسؤولية ملف .vimrc. بشكل افتراضي ، في Windows 10 ، يوجد هذا الملف في C:\Users\%username%
. هنا يمكنك إعداد جميع التعيينات ، و autocommands ، والإضافات ، ونظام الألوان ، وجميع الإعدادات الأخرى. لقد وجدت مقالة جيدة حول كيفية إعداد ملف .vimrc الخاص بك حتى تتمكن من التدريب بنفسك.
ملاحظة: لا تضع أي خطوط في .vimrc الخاص بك لا تفهمها
دورات VIM رهيبة:

قد يكون VIM معك.