سؤال

كيف يمكنني إصلاح المسافة البادئة له ضخمة ملفات html التي كان كل عابث ؟

حاولت المعتاد "ز ز=ز" القيادة, الذي هو ما يمكنني استخدام لإصلاح المسافة البادئة من ملفات التعليمات البرمجية.بيد أنه لا يبدو أن العمل على ملفات HTML.ببساطة إزالة كافة التنسيقات.

كما أنني حاولت وضع :filetype = xml, لمعرفة ما إذا كان خداع في هذا التفكير كان ملف XML من شأنه أن يساعد لكنه لا يزال لم تفعل ذلك.

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

المحلول

ومع filetype indent on داخل بلدي .vimrc، فيم ملفات HTML تزكي جيد للغاية.

ومثال بسيط مع shiftwidth من 2:

<html>
  <body>
    <p>
    text
    </p>
  </body>
</html>

نصائح أخرى

وهناك العديد من الأشياء التي جميعا بحاجة إلى أن تكون في المكان. فقط لتلخيص كل منهم في مكان واحد:

وتعيين الخيار التالي:

:filetype indent on
:set filetype=html           # abbrev -  :set ft=html
:set smartindent             # abbrev -  :set si

وبعد ذلك إما تحريك المؤشر إلى أعلى الملف والمسافة البادئة إلى النهاية: gg =G
أو حدد النص المطلوب بمحاذاة أطراف وضرب بمحاذاة أطراف ذلك.

والمشكلة الرئيسية باستخدام المسافة البادئة الذكية هي أنه إذا كان XML (أو HTML) يجلس على سطر واحد لأنه قد ينتهي الأمر يعود من طلب حليقة ثم سوف gg=G لا تفعل خدعة. بدلا من ذلك لقد شهدت مجرد المسافة البادئة جيدة باستخدام مرتبة تسمى مباشرة من السادس:

:!tidy -mi -xml -wrap 0 %

وهذا يقول في الأساس السادس للاتصال مرتبة لتنظيف ملف XML لا التفاف خطوط لجعلها تناسب على الافتراضي 68 حرفا خطوط عريضة. I معالجة ملف 29MB XML كبير واستغرق 5 أو 6 ثوان. اعتقد لملف HTML ومن ثم ينبغي أن يكون الأمر:

:!tidy -mi -html -wrap 0 %

وكما ذكر في تصريحات، tidy هو أداة الأساسية التي يمكن أن تجد في كثير من قاعدة أنظمة لينكس / ماك. هنا صفحة PROJET في حال كنت تتمنى ان تكون ولكن لا: HTML مرتب

وهذا الأمل يمكن أن تساعد.

كما tylerl يفسر فوق تعيين التالية:

:filetype indent on
:set filetype=html
:set smartindent

ومع ذلك!

علما أنه في همة 7.4 html العلامات html, head, body, و البعض الآخر لا بادئة بشكل افتراضي.ويبدو هذا منطقيا ، ما يقرب من جميع المحتويات في ملف html يندرج تحت هذه الكلمات.إذا كنت تريد حقا أن ، يمكنك الحصول على تلك الكلمات أن تكون بادئة مثل ذلك:

:let g:html_indent_inctags = "html,body,head,tbody" 

انظر هنا و هنا للحصول على مزيد من المعلومات.

وهذا هو بلدي الحل الذي يعمل بشكل جيد لفتح "قبيحة" HTML بطريقة متباعدة لطيف:

vim fileIn.html -c "set sw=2 | %s/>/>\r/ | execute 'normal gg=G' | set nohlsearch | g/^\\s*\$/d"

والأمر sw لأن بلدي الافتراضي هو 4، وهو معدل مرتفع جدا بالنسبة HTML.

والجزء التالي يضيف سطر جديد (فيم يفكر انها إرجاع، تنفس الصعداء) بعد كل عنصر (>)

وثم إعادة المسافة البادئة ملف كامل مع =

و> ثم unhighlight (منذ لقد set hlsearch في بلدي vimrc)

وثم إزالة جميع خطوط فارغة /-بيضاء الوحيدة (انظر هنا لأكثر من ذلك، هذا أيضا وضعف هرب، لأنه في وعاء)

ويمكنك حتى إضافة | wq! fileOut.html إلى النهاية، اذا كنت لا تريد أن تدخل فيم على الإطلاق، بل مجرد تنظيف الملف.

يمكنني استخدام هذا البرنامج النصي:https://github.com/maksimr/vim-jsbeautify

في الرابط أعلاه لديك كل المعلومات:

  1. تثبيت
  2. تكوين (نسخ من المثال الأول)
  3. تشغيل :call HtmlBeautify()

لا وظيفة بشكل جميل!

هل حاولت استخدام HTML المسافة البادئة النصي على همة الموقع ؟

وهنا حل الثقيل الوزن التي يحصل لك الطعج، بالإضافة إلى كل HTML الطباعة الأنيقة كنت لا تريد بالضرورة أن نهتم بينما كنت التحرير.

أولا، تحميل مرتب . تأكد من إضافة الثنائي إلى المسار، حتى تتمكن من الاتصال من أي مكان.

وبعد ذلك، إنشاء ملف التكوين واصفا نكهة HTML المفضلة لديك. وثائق ليست كبيرة للمرتب، ولكن هنا على نظرة عامة ، وقائمة <ل أ href = "http://tidy.sourceforge.net/docs/quickref.html" يختلط = "نوفولو"> جميع الخيارات . وهنا ملف التكوين لي:

bare: yes
break-before-br: no
clean: yes
drop-proprietary-attributes: yes
fix-uri: yes
indent-spaces: 4
indent: yes
logical-emphasis: yes
markup: yes
output-xhtml: yes
quiet: yes
quote-marks: yes
replace-color: yes
tab-size: 4
uppercase-tags: no
vertical-space: yes
word-2000: yes
wrap: 0

وحفظ هذا كما tidyrc_html.txt في مجلد ftplugin الخاص بك (تحت vimfiles).

وأكثر واحد ملف: إضافة السطر التالي (أو خلق) html.vim، وأيضا في ftplugin:

map <leader>tidy :%! tidy -config ~/vimfiles/ftplugin/tidyrc_html.txt <CR>

لاستخدامها، مجرد فتح ملف HTML، ونوع /tidy. (وهذا هو المفتاح / <leader>).

وهناك تذهب! لا حل سريع، بأي وسيلة، ولكن الآن أنت قليلا أفضل مجهزة لتحرير تلك ضخمة، عابث الاحتياطي للملفات HTML.

ويمكنك دمج كل من مرتبة و<لأ href = "https://github.com/beautify- على شبكة الإنترنت / شبيبة تجميل "يختلط =" نوفولو "> أتش تي أم أل تجميل تلقائيا عن طريق تثبيت البرنامج المساعد همة -autoformat. بعد ذلك، يمكنك تنفيذ أيهما المنسق يتم تثبيتها مع بضغطة زر واحدة.

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

وحاولت المعتادة "زز = G" الأمر، وهو ما يمكنني استخدام لإصلاح المسافة البادئة ملفات التعليمات البرمجية. ومع ذلك، فإنه لا يبدو أن العمل حق على ملفات HTML. ببساطة إزالة كافة التنسيق.

إذا التنسيق التلقائي / gg=G المسافة البادئة همة ويبدو أن "كسر" (مثل ترك الطعج كل سطر)، وعلى الأرجح لم يتم تمكين المساعد البادئة / تحميل. حقا يجب أن تعطي رسالة خطأ بدلا من مجرد القيام الطعج سيئة، وإلا المستخدمين يعتقدون مجرد التنسيق التلقائي / ميزة الطعج فظيعة، عندما يكون فعلا جيدة.

لمعرفة ما اذا كان يتم تمكين المساعد في الهامش / تحميلها، :scriptnames تشغيل. معرفة ما إذا كان .../indent/html.vim في القائمة. إن لم يكن، ثم وهذا يعني لا يتم تحميل البرنامج المساعد. في هذه الحالة، إضافة إلى هذا الخط ~/.vimrc:

filetype plugin indent on

والآن إذا قمت بفتح الملف وتشغيل :scriptnames، يجب أن تشاهد .../indent/html.vim. قم بتشغيل gg=G، التي ينبغي أن تفعل التنسيق التلقائي الصحيحة / المسافة البادئة الآن. (على الرغم من أنها لن تضيف أسطر جديدة، حتى لو كانت جميع الكود على خط واحد، لن تكون بادئة ذلك).

ملحوظة: إذا كنت تقوم بتشغيل :filetype plugin indent on على سطر الأوامر همة بدلا من ~/.vimrc، يجب إعادة فتح ملف :e

وبالإضافة إلى ذلك، كنت لا داعي للقلق حول إعدادات autoindent وsmartindent، فهي ليست ذات الصلة لهذا الغرض.

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