تماما الخروج من قائمة الموقع (lcl) التي أنشأتها Syntastic وكذلك الرئيسي العازلة عند استخدام :q :q!أو :wq!في همة
سؤال
أنا باستخدام Syntastic المساعد.لدي بعض الملفات مع بعض الأخطاء (تحذيرات) التي لا أستطيع تغييرها.عندما يكون لدي ملف مفتوح مع رسائل الخطأ و أنا تركت الملف(العازلة) الضغط :q رسائل الخطأ لا تزال مرئية(آخر العازلة) ، لذلك يجب أن الصحافة :q مرتين للخروج تماما عند تحرير الملف.
كيف كنت اضغط :q مرة واحدة فقط مع ملف مع العازلة التي تحتوي على ملفي و آخر العازلة (قائمة مواقع) التي تحتوي على Syntastic الأخطاء ؟ لقد بحثت قليلا في الأمر بإغلاق موقع القائمة :lcl.
عندما كنت الخروج منطقة عازلة مع :س ، إذا كان الموقع قائمة على أن المخزن هو نشط ، أريد أن إغلاقه مع الموقع قائمة داخل الدعوة :lcl.أنا أقرأ بعض autocmd BufLeave
و BufWinLeave
ومحاولة لخلق تعيين هذا, ولكن أنا غير قادر على معرفة الفرق بين الاثنين.يمكن للشخص مساعدتي ؟
التذكر ، :w, :q, :q!, :wq
ينبغي أن نعمل جميعا على النحو المنشود.
المحلول
كما lcl العمل حتى إذا كان هناك أي خطأ نافذة يمكنك خريطة q lcl و س
cnoremap q<cr> \|lcl\|q<cr>
كما اقترح اختصار يبدو أفضل
cabbrev q lcl\|q
(ملاحظة \ قبل | بدون يفعل اختصار ثم استقال )
نصائح أخرى
أنا أدرك هذا السؤال القديم و التي كان الجواب مقبولا في وقت ما قبل.حاولت باستخدام الجواب المقبول ولكن لا يبدو أن تعمل أي أكثر من ذلك.
ومع ذلك لم تجد حلا من هذا السؤال, أن الآخرين في هذا.
أساسا استخدام برنامج نصي إلى التحقق من ما إذا كان هناك أي الأخرى المتبقية النوافذ مفتوحة و إذا آخر ما تبقى نافذة الموقع قائمة الإقلاع عن التدخين.
:autocmd WinEnter * if &buftype ==# 'quickfix' && winnr('$') == 1 | quit | endif
أعتقد أن هذا قد لا يكون مثاليا ولكن يعمل بشكل جيد بما فيه الكفاية في الوقت الحالي.