فيم E194:لا يوجد اسم ملف بديل ليحل محل "#"

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

  •  21-12-2019
  •  | 
  •  

سؤال

أنا أستخدم البرنامج المساعد ctrlp.vim وهو في الأساس مكتشف الملفات.لقد اتبعت خطوات التثبيت كما هو مذكور هنا:

http://kien.github.io/ctrlp.vim/#installation (باستخدام بوابة)

يعمل المكون الإضافي الخاص بي بشكل جيد وكما هو متوقع، ولكن عند بدء تشغيل vim، تظهر لي رسالة الخطأ التالية:

Error detected while processing FuncUndefined Auto commands for "*":
E194: No alternate file name to substitute for '#': runtime autoload/ctrlp#utils#cachedir.vim
Press ENTER or type command to continue

على إزالة set runtimepath^=~/.vim/bundle/ctrlp.vim من vimrc الخاص بي، يختفي الخطأ ولكن من الواضح أن المكون الإضافي الخاص بي يتوقف عن العمل وهو أمر غير مرغوب فيه.

الرجاء المساعدة.

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

المحلول

تنسيق هذا الأمر خاطئ:بدلاً من

runtime autoload/ctrlp#utils#cachedir.vim

ينبغي أن يكون

runtime autoload/ctrlp/utils/cachedir.vim

ال # يتم استخدام الفاصل عندما الاتصال وظائف التحميل التلقائي، ولكن :runtime يتطلب مسارًا، مع فواصل المسار.هناك، المعرفات الخاصة مثل # و % سارية المفعول، وهذا يسبب الخطأ.


لإصلاح ذلك، اكتشف من أين تم إصدار هذا الأمر الخاطئ.

:verbose autocmd FuncUndefined

هي بداية جيدة.

نصائح أخرى

لقد واجهت نفس الخطأ مع إصدار Windows من GVim 8.1 عند محاولة كتابة ملف [بدون اسم] المخزن المؤقت لاسم الملف الذي يحتوي على #include.وضع أ \ قبل كل # في اسم الملف يعمل على حل المشكلة.

اعتقدت أنه سيتعارض مع اتفاقية Windows المتمثلة في استخدام الخطوط المائلة العكسية لفصل المجلدات في مسارات الملفات، لكنه لم يحدث.

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