تماما الخروج من قائمة الموقع (lcl) التي أنشأتها Syntastic وكذلك الرئيسي العازلة عند استخدام :q :q!أو :wq!في همة

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

  •  30-09-2019
  •  | 
  •  

سؤال

أنا باستخدام 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

أعتقد أن هذا قد لا يكون مثاليا ولكن يعمل بشكل جيد بما فيه الكفاية في الوقت الحالي.

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