سؤال

هل هناك أي طريقة لجعل VIM الاستمرار في تطبيق تنسيق على خط تستخدم رأس لأضعاف؟

ومنها مثلا، لدي البرمجية التالية:

int foo(int a, int b) {
    int c;
....
}

عند مطوية، وأرى:

+-- 4 lines: int foo(int a, int b) {----------------------------

ولكن، يتم تمييز الخط كله وفقا للفئة "مطوية". هل هناك أي طريقة لتعطيل هذا، لذلك أنا لا نزال نرى في تسليط الضوء على تركيب؟

و[للمثال بسيط هذا ليس من المهم جدا، ولكن أنا أيضا استخدام للطي على نطاق واسع في عرض ملفات البيانات الكبيرة، وهناك تنسيق أكثر أهمية بالنسبة لي]


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

المحلول

<اقتباس فقرة>   

ولكن، يتم تمييز الخط كله وفقا للفئة "مطوية". هل هناك أي طريقة لتعطيل هذا، لذلك أنا لا نزال نرى في تسليط الضوء على تركيب؟ "

لا، نص العنوان الرئيسي مطوية ليس النص الذي هو جزء من الملف وليس للتحرير مباشرة، وتحسب فقط ومضافين على الشاشة. يتم تطبيق تسليط الضوء على "مطوية" لكامل الخط، وكلها طيات نفسه تسليط الضوء على تطبيقها.

لاستخدامي مع همة باعتبارها تلينر (في المشروع VimOutliner) I اخترق مصدر همة للسماح لمختلف تسليط الضوء أضعاف تبعا لمستوى أضعاف، لذلك هناك العديد من أبرز أضعاف العنوان الذي يتم تطبيقها (على سبيل المثال FoldLevel1، FoldLevel2، إلخ.). أفترض أنه يمكن أن يكون أبعد اخترق استخدام الضوء بالفعل موجود من النص في خط رئيس أضعاف، ولكن نظرا لأعمال للطي الطريق وأظن أنه قد يكون من الصعب القيام به مما يبدو.

عذرا، ضرب لي فقط أن اقتراح لfoldmethod من المسافة البادئة قد يكون بالضبط ما كنت تبحث عن على أي حال، والتي لا يحفظ بناء الجملة في خطوط إلغاء المسافة البادئة في حين لا يزال وجود لهم وظيفة كنوع من التوجه لقسم مطوية.

نصائح أخرى

وأعتقد أن ما كنت تبحث عن وتغيير foldmethod بمحاذاة أطراف بدلا من الدليل، الذي هو الافتراضي. اكتب هذا في وضع الأوامر.

:set foldmethod=indent

والآن إذا ذهبت داخل وظيفة فو ونوع هانم (زيادة مستوى أضعاف من جانب واحد)، وسوف تبدو كما يلي:

int foo(int a, int b) {
+--  2 lines: int c;------------------------------------------------------------
}

وخط فو سوف لا تزال لديها تسليط الضوء على تركيب. تتكشف بالطبع، نوع ZR. لراحة أضع الأسطر القليلة التالية في بلدي .vimrc أضعاف بسرعة أو تتكشف كل شيء:

" Folding and unfolding
map ,f :set foldmethod=indent<cr>zM<cr>
map ,F :set foldmethod=manual<cr>zR<cr>

وهناك أيضا برنامج تعليمي جيد هنا ، وبالطبع قراءة مساعدة همة على foldmethod قد تقودك إلى الطرق الأخرى التي تريد أفضل من المسافة البادئة، ولكن الطريقة رمز المثال الخاص بك يبدو عليك ربما تريد المسافة البادئة.

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