سؤال
أحاول حاليًا التبديل من Coda (Mac IDE) إلى VIM. شيء واحد أحببته في Coda ومعرفتي بـ Vim التي لا يمكن أن تحل محل ما يسمى "المقاطع". في الأساس ، تكتب ، على سبيل المثال ، "جديد" ، اضغط على علامة التبويب ، ويتم استبدال النص بصفحة XHTML أساسية. ويمكنك إضافة العديد من مجموعات الكلمات الرئيسية/المقاطع كما تريد.
أكثر ما يمكن أن أحصل عليه مع VIM حتى الآن هو إنشاء ملف جديد يحتوي على مقطع بلدي ، ثم استخدمه : ملف R. في VIM من أجل إدراجها ، ولكن هذا ليس حلاً أنيقًا للغاية ، حيث يجب أن أحمل هذه المقاطع في كل دليل ، لدي ملف أريد استخدام مقاطعاتي معه.
إذا افترضنا أنني شرحت الأشياء بشكل صحيح ، ماذا ستكون اختياراتي؟
المحلول
بالنسبة لمختلف المحررين ، هناك وظيفة تسمى "" قصاصات "" التي توسع علامة التبويب توسع بدايات النص المشترك (مثل تعريف وظيفة HTML ، أو C) إلى هيكل عظمي لهذا الرمز.
هناك بضعة ملحقات VIM التي تقدم هذه الوظيفة. اثنان من أعلى قائمة الإشارة المرجعية الخاصة بي:
سمعت عن مكون إضافي آخر لتحرير HTML السريع الذي يستخدم المقتطفات مؤخرًا:
تحقق من ذلك ومعرفة ما إذا كانوا بالقرب من ما تبحث عنه.
أيضا ، يمكنك تحديد الافتراضي BufNewFile
الإجراء في VIM - والذي يتيح لك القراءة في هيكل عظمي لملف إذا لم يكن موجودًا بالفعل تلقائيًا.
*skeleton* *template*
To read a skeleton (template) file when opening a new file: >
:autocmd BufNewFile *.c 0r ~/vim/skeleton.c
:autocmd BufNewFile *.h 0r ~/vim/skeleton.h
:autocmd BufNewFile *.java 0r ~/vim/skeleton.java
ضع هؤلاء (أو ما يعادلهم) في .vimrc
(ث/س القولون الرائد) لإعدادهم تلقائيًا في كل مرة تقوم فيها بتشغيل VIM.
نصائح أخرى
متأخرا جدا للحزب ، ولكن:
أود أن أوصي بشيء مثل اندفاع لهذا ، لأن المقتطفات تتوفر بعد ذلك عبر جميع تطبيقاتك.
يمكن أن يكون هذا مكافأة كبيرة حيث تبدأ ذاكرة العضلات في الاعتماد على مقتطفات معينة ، ويمكن أن تخفف أيضًا من الانتقال من محرر إلى آخر ، لأن مقتطفاتك مستقلة.
أحيانًا أجد نفسي أستخدم قصاصات في شيء مثل Mail لإرساله إلى شخص آخر ، أو في محطة VIM على جهاز بعيد لم أكن أقوم بتكوينه ، ومن الرائع أن يكون هناك جميعًا هناك على استعداد.
الآن كل ما نحتاجه هو حل عبر المنصات الذي ينتقل معك إلى آلة زميل!
بالإضافة إلى الإضافات المختلفة ، يحتوي VIM أيضًا على ميزة اختصار مدمجة ، باستخدام :ab[breviate]
أمر.
على سبيل المثال ، يمكنك تحديد هذا:
:ab <h <head>^M</head>^M<body>^M<\body>
ثم عندما تكتب <h<SPACE>
سوف يتوسع إلى النص الكامل. ال ^M
في المثال أعلاه ، يتم إدخال إرجاع النقل في تعريف السلسلة مع <ctrl-V><RETURN>
.