سؤال كيفية إضافة أمر في محرر vim؟


إذا افترض أن اسم ملف شفرة المصدر هو "foo.c". أثناء التحرير وتصحيح الأخطاء ، دائمًا ما أقوم بتنفيذ هذا الأمر: -

!! gcc -g foo.c -o foo؛ gdb foo

هل يمكنني إضافة أمر مخصص إلى Vim بحيث إذا تم كتابة ": تصحيح" ، عندئذٍ ينفذ الأمر الموضح أعلاه؟ كيف يمكنني تحقيق ذلك؟


73
2018-01-09 13:26


الأصل




الأجوبة:


نعم فعلا. وثائق Vim ، القسم 40.2 ، تعيينات سطر الأوامر:

يمكّنك محرر Vim من التحديد   الأوامر الخاصة بك. أنت تقوم بتنفيذ هذه   أوامر تماما مثل أي دولة أخرى   أمر وضع سطر الأوامر. إلى   تعريف أمر ، استخدم ": الأمر"   الأمر ، على النحو التالي:

: الأمر DeleteFirst 1delete

الآن عند تنفيذ الأمر   ": DeleteFirst" ينفذ فيم   ": 1delete" ، والتي تحذف الأولى   خط.

ملاحظة: يجب على الأوامر المعرفة من قبل المستخدم   تبدأ بحرف كبير. أنت   لا يمكن استخدام ": X" و ": التالي" و   ":طباعة". لا يمكن أن يكون الشرطة السفلية   مستخدم! يمكنك استخدام الأرقام ، ولكن هذا   غير محبط.

ضع هذا الخط في حياتك ~/.vimrc (ناقص inital : بالطبع) وسيتم تعريفها في كل مرة تبدأ vim. أيضا استخدام %:t للإشارة إلى الملف الجاري تحريره (الكتابة ! gcc %:t يحصل على استبدالها ! gcc foo.c).

إذا كنت تريد فقط أن يتم تعريفه لملف واحد ، أو لملفات معينة ، فأنت تريد autocommand.


88
2018-01-09 13:56



إذا كنت تستبدل أمرًا حاليًا ، فأنت بحاجة إلى استخدامه command!. - phyatt


فيم لديها بالفعل الدعم ل Makefiles (:يصنع). إذا قمت بإنشاء واحد للمصدر الخاص بك ، يمكنك تحديد ما تريد القيام به. أيضا ، من خلال ctags ، سيتمكن Vim من التكرار من خلال أي أخطاء يتم العثور عليها أثناء التحويل البرمجي.


14
2018-01-09 13:48





إضافة أمر محرر vi محدد من قبل المستخدم:

هذا سيجعل ذلك عندما يكتب المستخدم :Legend في الوضع العادي ، يتم إضافة كتلة من النص تحت المؤشر.

الخطوة 1: ضع هذا السطر في ملف اسمه ~ / legend_header.txt`

this text will be added

الخطوة 2: ضع هذا الأمر في ملف ~ / .vimrc (إذا كان الملف غير موجود ، فقم بإنشائه):

"The following command puts the contents of ~/legend_header.txt 
"under the cursor when the user types ":Legend" in normal mode.
command Legend :r ~/legend_header.txt

الخطوة 3: إعادة تشغيل vi لتصبح التغييرات نافذة المفعول. انت انتهيت.

قم بتجريبه

الخطوة 1: افتح ملفًا جديدًا في vi. تكون في "الوضع العادي" الافتراضي في السادس. نوع :Legend

الخطوة 2: محتويات ~/legend_header.txt يجب أن يضاف حيث يكون المؤشر.


4
2018-05-01 14:31





يمكنني استخدام هذا الأمر في ملفي .vimrc لتجميع وإصدار رمز c:

:command Gcc !set $1 `echo "%" | sed 's/\.c//g'` ;gcc -o $1 "%" ; chmod o+x $1; $1

، ولكن لتلبية احتياجاتك ، يمكنك وضع:

:command Gdb !set $1 `echo "%" | sed 's/\.c//g'` ;gcc -o $1 "%" ; gdb $1

يمكنك التأكد من أن اسم ملف exec سيكون اسم المصدر بدون امتداد .c.


0
2017-11-13 20:48