ما هي أفضل استراتيجية لقطع التعليمات البرمجية ووحدات الماكرو في vim؟

StackOverflow https://stackoverflow.com/questions/54401

  •  09-06-2019
  •  | 
  •  

سؤال

مع تطويري أكثر باستخدام vim، أجد نفسي أرغب في نسخ مجموعات من التعليمات البرمجية المفيدة، على غرار "القوالب" في Eclipse.

كنت أفكر في إنشاء ملف منفصل لكل مجموعة تعليمات برمجية وقراءتها فقط

:r code-fornext

ولكن هذا يبدو مجرد نوع من البدائية.أثناء البحث في Google، أجد وحدات ماكرو vim مذكورة وشيئًا عن "الخرائط" ولكن لا شيء يبدو واضحًا.

ما أبحث عنه هو على سبيل المثال.شيء مثل "قوالب" Eclipse، لذلك أقوم بإدخال مجموعة من التعليمات البرمجية مع وجود المؤشر في منتصفها.أو "وحدات الماكرو" الخاصة بـ JEdit والتي يمكنني تسجيلها وإجراء عمليات حذف معقدة وإعادة التسمية على سطر واحد، ثم يمكنني تشغيلها مرة أخرى على 10 أسطر أخرى بحيث تفعل الشيء نفسه معهم.

هل لدى vim أي شيء مثل هاتين الوظيفتين؟

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

المحلول

لتسجيل وحدات الماكرو في Vim، في وضع الأوامر، اضغط على q مفتاح ومفتاح آخر تريد تعيين الماكرو له.للتخلص السريع من وحدات الماكرو عادةً ما أضغط عليها qq وقم بتعيين الماكرو إلى q مفتاح.بمجرد أن تكون في وضع التسجيل، قم بتشغيل ضربات المفاتيح الخاصة بك.عند الانتهاء، تأكد من عودتك إلى وضع الأوامر واضغط q مرة أخرى لإيقاف التسجيل.ثم لإعادة تشغيل الماكرو يدويًا، يمكنك الكتابة @q.لإعادة تشغيل الماكرو الذي تم تشغيله مسبقًا، يمكنك الكتابة @@ أو لتشغيله 10 مرات يمكنك الكتابة 10@q أو 20@q, ، إلخ..

في ملخص:

+----------------------------------+-------------------------------------+
| start recording a macro          | qX (X = key to assign macro to)     |
+----------------------------------+-------------------------------------+
| stop recording a macro           | q                                   |  
+----------------------------------+-------------------------------------+
| playback macro                   | @X (X = key macro was assigned to)  |
+----------------------------------+-------------------------------------+
| replay previously played macro   | @@                                  |
+----------------------------------+-------------------------------------+

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

http://www.vim.org/scripts/script.php?script_id=2540

ومقالة قصيرة عن استخدام snipMate (مع مقطع فيديو قصير يوضح أنه قيد الاستخدام):

http://www.catonmat.net/blog/vim-plugins-snipmate-vim/

أتمنى أن تجده مفيد!

نصائح أخرى

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

هث،

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