ভিম: এক্সএমএল পাঠ্যটি "সুন্দর" তৈরি করা হচ্ছে


33

viআপনার এক্সএমএল পাঠ্যটিকে "সুন্দর" করার জন্য কি কোনও সহজ উপায় আছে ?

উদাহরণ স্বরূপ:

আমি এটা চাই..

            <person>
  <name>Nick</name>
 <age>26</age>
         <gender>male</gender>
<occupation>doctor</occupation>
    </person>

এই হতে ...

<person>
    <name>Nick</name>
    <age>26</age>
    <gender>male</gender>
    <occupation>doctor</occupation>
</person>

অন্য সমস্ত কিছু যদি ব্যর্থ হয় তবে সর্বদা ম্যাক্রোগুলি রয়েছে। qq0dt<jqএবং তারপর 3@qj@@5k4I<space><esc>j.j.j.। বাহ, দেখতে বেশ ক্রিপ্টিক লাগছে।
ব্র্যাডেন সেরা

উত্তর:


39

আমি এর সাথে সবচেয়ে ভাগ্য পেয়েছি:

:%!xmllint --format %

এটি আপনার ট্যাগ সম্পর্কে কঠোর, যদিও এটি আপনার খোলার এবং বন্ধ করার ট্যাগগুলি মেলে না তবে এটির ত্রুটি ঘটবে। এটি আপনার ফাইলের শীর্ষে একটি এক্সএমএল ঘোষণাও যুক্ত করে, যদি আপনার পাশাপাশি না থাকে।

এই পৃষ্ঠায় নিম্নলিখিতটি সুপারিশ করা হয়েছে, যদিও আমি এটি কাজ করতে পারি না:

:set filetype=xml
:filetype indent on
gg=G

আমি এটি পরীক্ষা করে দেখলাম এবং মনে হচ্ছে এটি কিছুটা কার্যকর হবে। নিখুঁতভাবে নয়, তবে এটি কাজটি সম্পন্ন করে।

যদি এটি কার্যকর না হয়, আপনি পাইথনের মিনিডোমটি আপনার জন্য এটি ফর্ম্যাট করতে পারেন could

import xml.dom.minidom

xml = xml.dom.minidom.parse(filename)
formatted_xml = xml.toprettyxml()

এই gg=Gআদেশটি আসলে কাজ করে নি। পরিবর্তে, এটি কেবল আমার পূর্ববর্তী সমস্ত সূচকগুলি সরিয়েছে।
রব অ্যাভেরি চতুর্থ

হ্যাঁ, আমিও একই জিনিস পেয়েছি। আমার কাছে ইতিমধ্যে নির্দিষ্ট ধরণের ফর্ম্যাটিং করার সময় এটি কাজ করে বলে মনে হয় তবে সাধারণত হয় না। আমাকে আরও কিছুটা পরীক্ষা করে দেখতে হবে।
নট

1
:%!xmllint --format %ভাল কাজ করছে বলে মনে হচ্ছে, তাই আমি এটি পোস্টে যুক্ত করেছি।
নট

1
@ ক্যান্নি আমি এর সাথে মোকাবিলা করার জন্য উত্তরটি সংশোধন করেছি
tzrzsmókus

2
এটি বর্তমান বাফারে কাজ করার জন্য এবং সিনট্যাক্স হাইলাইটিং চালু করতে ": সেট ft = xML |%!
Xmllint
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.