سؤال

أنا عن طريق الخطأ فعلت علامة قابلة للطي إلى بلدي .vimrc:

{{{8 #CS
something..
}}}8  
{{{9 #Math
...
}}}9  
... many more!

أحتاج إلى تبديل التنسيق إلى "# شيء {{رقم" مثل:

#CS {{{8 
something..
}}}8  
#Math {{{9 
...
}}}9  
... many more!

ما هو الخطأ في التعليمات البرمجية التالية:

:%s$/({{{\d/) /(#[:alpha:]/)$\2 \1$g

المحلول

%s$\({{{\d\) \(#[[:alnum:]]*\)$\2 \1$g
هل كانت مفيدة؟

المحلول

لقد نسيت أن تفلت من الأقواس، وفئات أحرف posix صالحة فقط ضمن فئة حرف [[:alpha:]]:

:%s$/\({{{\d/\) /\(#[[:alpha:]]/\)$\2 \1$g

ملاحظة، ومع ذلك، فإن نص المثال الخاص بك لا يحتوي على أي خطوط مائلة - هل هذا ما هو نص عينتك هو في الواقع؟

regex أعلاه يغير هذا

/{{{8/ /#A/

الى هذا

#A/ {{{8/

نصائح أخرى

:%s/{{{\(\d\) \(.*\)/\2 {{{\1/g

يعمل، ولكن في Regex الخاص بك، لا أفهم لماذا حصلت على $ بعد S.

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