পুরানো "কীভাবে এক্সএমএল ভাজবেন" প্রশ্ন


42

আমি বেশ কিছুটা ম্যানুয়াল এক্সএমএল সম্পাদনা করছি (আমি করছি এমন কিছু কোড প্রজন্মের উত্স সংজ্ঞাটি একটি কাস্টম এক্সএমএল ফর্ম্যাট) এবং অবশ্যই কোনও বিশেষ উদ্দেশ্যে (সাধারণত কুৎসিত) এক্সএমএল সম্পাদকগুলির চেয়ে ইমাকগুলি ব্যবহার করতে পছন্দ করেন। এনএক্সএমএল মোড অতীতে আমাকে ভালভাবে দাঁড় করিয়েছে তবে আমি এর "রূপরেখা" সমর্থনের আশেপাশে আমার মাথা পেতে পারি না। বিভিন্ন ইন্টারনেট এবং এসও পোস্ট কার্যকরভাবে কিছুই বলেন না - আমি ভাবছি যে ইমাসে (কোনও মোডে) এক্সএমএল এর রূপরেখা / ভাঁজ সম্পর্কে কারও কোনও ব্যবহারিক অভিজ্ঞতা আছে কিনা তার জন্য নিজেই এক্সএমএল কাঠামোর পরিবর্তন প্রয়োজন কিনা।


আউটসাইটে তাকান।
মালবারবা

এখানে এনএক্সএমএল মোডে স্বেচ্ছাসেবী ট্যাগগুলির জন্য ফোল্ডিং কোডটি ব্যবহার করার কিছুক্ষণ আগে দেওয়া উদাহরণের একটি লিঙ্ক এখানে রয়েছে - সম্ভবত এটি আপনাকে নিজের কোড বিকাশে সহায়তা করতে পারে: superuser.com/a/787030/206164 আমি যে বিশেষ ট্যাগটি মোকাবেলা করেছি তা হ'ল xsl- - একই নামের নেস্টেড ট্যাগগুলি মোকাবেলায় আমি একটি কাউন্টার অন্তর্ভুক্ত করেছি।
আইনজীবি

উত্তর:


39

আমি এই এসও পোস্টটি পেয়েছি: https://stackoverflow.com/questions/944614/emacs-does-hideshow-work-with-xml-mode-sgml-mode

(require 'hideshow)
(require 'sgml-mode)
(require 'nxml-mode)

(add-to-list 'hs-special-modes-alist
             '(nxml-mode
               "<!--\\|<[^/>]*[^/]>"
               "-->\\|</[^/>]*[^/]>"

               "<!--"
               sgml-skip-tag-forward
               nil))



(add-hook 'nxml-mode-hook 'hs-minor-mode)

;; optional key bindings, easier than hs defaults
(define-key nxml-mode-map (kbd "C-c h") 'hs-toggle-hiding)

আপনি সেখান থেকে কোডটি ব্যবহার করতে পারেন, কিছুটা পরিবর্তিত, সহজেই এনএক্সএমএল-মোডের জন্য।

এটি আপনাকে এক্সএমএল উপাদানগুলির সাথে লুকিয়ে রাখা / গোপন রাখতে টগল করতে দেয় C-chএবং নামগুলিতে আন্ডারস্কোর সমর্থন করবে।

এখানে চিত্র বর্ণনা লিখুন


2
টাইপো: nxmlনাnmxl
সন Allred

3
@ সান অ্যালার্ড: আমি টাইপ ঠিক করেছি। কাট-প্যাষ্টাররা ধরা দেওয়ার জন্য আপনাকে ধন্যবাদ জানাবে!
ড্যান

উজ্জ্বল! এটি দেখে মনে হচ্ছে যে hideshowকোনও প্রদত্ত ট্যাগের সমস্ত দৃষ্টান্ত টগল করার জন্য বাফার স্ক্যান করা যেমন কাস্টম ফাংশনগুলি লিখতে সহজ হবে a ইত্যাদি যদি মাউসের সাহায্যে একটি উপবৃত্তের উপর ক্লিক না করে লুকানো থাকে তবে আমি চেষ্টা করব না
ইয়াককে

@ মার্কআফলিক এইচডিশোতে মাউস সমর্থন রয়েছে, ডিফল্টরূপে, শিফট + মাউস 2 টি এইচএস-মাউস-টগল-হিডিংয়ের সাথে আবদ্ধ, যা আপনার এটি যেমন ইচ্ছা তেমন কাজ করে work
জর্ডন বিওনডো 14

2
+1000। এই উত্তর আমার বিচক্ষণতা বাঁচিয়েছে। আমি এনএক্সএমএল-মোডটি পছন্দ করি তবে এটি কেবল পরের ট্যাগ-ভাঁজ সমর্থনের জন্য এবং এটি একটি নিবেদিত এক্সএমএল সম্পাদকের মধ্যে ক্রমাগত স্যুইচ করে যাচ্ছিলাম। আমি অবাক হই, যদিও, যদি গ্যাগ্র্রি.এল হিসাবে একই লাইব্রেরি ব্যবহার করে এই কার্যকারিতাটি বাস্তবায়ন করা সম্ভব হয় , যা জিইউআই ইমাসসেনে গাছের কাঠামোর মাউস এবং লাইন-অঙ্কনের সাহায্যে ভাঁজ / উদ্ঘাটন সমর্থন করে?
dodgethesteamroller

12

ওয়েব-মোডে উপাদান ফোল্ডিং অন্তর্নির্মিত এবং আবদ্ধ থাকে C-c C-f। তবে আপনি অবশ্যই এনএক্সএমএল-মোড ব্যবহারের কয়েকটি বৈশিষ্ট্য হারাবেন।


আমি ওয়েব-মোড সম্পর্কে জানতাম না (এই দিনগুলিতে খুব বেশি ওয়েব ডেভ করবেন না)। আমি এটি চেষ্টা করে আবার রিপোর্ট করব, ধন্যবাদ।
মার্ক অফলিক

1
নিকটবর্তী! দুর্ভাগ্যক্রমে ওয়েব-মোডটি এক্সএমএল ট্যাগ নামগুলিতে আন্ডারস্কোরের জন্য অনুমতি দেয় না (যা আমরা ব্যবহার করি)। ওয়েব-মোড কোড জুড়ে লিটারে রয়েছে কয়েকশো কাছাকাছি-এর মতো হার্ড কোডিং রেজেক্স স্ট্রিং। আমার কাজ করার সময় ছুরিকাঘাত হয়েছিল যা পরিবর্তিত হওয়া উচিত তবে এটি ক্লান্তিকর কারণ! অন্যথায়, ওয়েব-মোডে
ভাঁজটি

0
(add-to-list
 'hs-special-modes-alist
 '(nxml-mode
   "<!--\\|<[^/>][^>]*>" "-->\\|</[^/>]+>" "<!--" #'nxml-forward-element nil))
(add-hook 'nxml-mode-hook #'hs-minor-mode)
;; (setcdr (assoc 'nxml-mode hs-special-modes-alist) (list "<!--\\|<[^/>][^>]*>" "-->\\|</[^/>]+>" "<!--" #'nxml-forward-element nil))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.